如何将文本框的内容作为输入参数而不是 $scope 变量传递给 angular js?
How do I pass the contents of a textbox into angular js as an input parameter, rather than a $scope variable?
目前,我知道如何从文本框中收集输入并在 $scope
变量中使用它。但是,如果我不想使用 $scope
变量怎么办?如果我只是想将输入作为参数传递给函数怎么办?
当前:
我有一些 JSP 看起来像这样:
<textarea
required="true"
spellcheck="on"
data-ng-model="editTools.productDescription"
rows="4"
>
</textarea>
我在 JSP 中也有一个按钮调用 Angular JS 中的函数:
<button
id="description-submit-button"
data-ng-click="mySpecialFunction()"
buttonType="${'primary'}"
htmlButtonType="${'button'}"
>
<text>"Submit"</text>
</button>
所以,我知道这行得通。我正在为 $scope.editTools.productDescription
赋值,然后 mySpecialFunction()
使用该值。
但是如果不使用 $scope
变量,我如何完成同样的事情呢?我希望能够说 data-ng-click="mySpecialFunction({the stuff the user typed in the text box})"
这可能吗?怎么样?
您实际上不必在控制器中声明您的模型变量。您可以将 textarea
更改为此,以便模型为 myVariable
(您可以随意命名):
<textarea
required="true"
spellcheck="on"
data-ng-model="myVariable"
rows="4">
</textarea>
然后您可以将 myVariable
直接传递到 HTML 中的 mySpecialFunction
调用,如下所示:
<button
id="description-submit-button"
data-ng-click="mySpecialFunction(myVariable)"
buttonType="${'primary'}"
htmlButtonType="${'button'}"
>
<text>"Submit"</text>
</button>
现在在你的控制器中,你的函数看起来像这样:
$scope.mySpecialFunction = function (value) {
// value === myVariable
// do something with it here
};
但请注意,angularjs 实际上会在幕后将 myVariable
添加到 $scope
,因此如果您真的想要,您仍然可以使用 $scope.myVariable
在你的控制器中。
目前,我知道如何从文本框中收集输入并在 $scope
变量中使用它。但是,如果我不想使用 $scope
变量怎么办?如果我只是想将输入作为参数传递给函数怎么办?
当前:
我有一些 JSP 看起来像这样:
<textarea
required="true"
spellcheck="on"
data-ng-model="editTools.productDescription"
rows="4"
>
</textarea>
我在 JSP 中也有一个按钮调用 Angular JS 中的函数:
<button
id="description-submit-button"
data-ng-click="mySpecialFunction()"
buttonType="${'primary'}"
htmlButtonType="${'button'}"
>
<text>"Submit"</text>
</button>
所以,我知道这行得通。我正在为 $scope.editTools.productDescription
赋值,然后 mySpecialFunction()
使用该值。
但是如果不使用 $scope
变量,我如何完成同样的事情呢?我希望能够说 data-ng-click="mySpecialFunction({the stuff the user typed in the text box})"
这可能吗?怎么样?
您实际上不必在控制器中声明您的模型变量。您可以将 textarea
更改为此,以便模型为 myVariable
(您可以随意命名):
<textarea
required="true"
spellcheck="on"
data-ng-model="myVariable"
rows="4">
</textarea>
然后您可以将 myVariable
直接传递到 HTML 中的 mySpecialFunction
调用,如下所示:
<button
id="description-submit-button"
data-ng-click="mySpecialFunction(myVariable)"
buttonType="${'primary'}"
htmlButtonType="${'button'}"
>
<text>"Submit"</text>
</button>
现在在你的控制器中,你的函数看起来像这样:
$scope.mySpecialFunction = function (value) {
// value === myVariable
// do something with it here
};
但请注意,angularjs 实际上会在幕后将 myVariable
添加到 $scope
,因此如果您真的想要,您仍然可以使用 $scope.myVariable
在你的控制器中。