我是新来的,我有这个简单的形式:
<form ng-submit="add()"> <input type="text" name="field"> <input type="submit" value="Submit"> </form>
我想输入[name =“field”]值作为add()的参数。有什么办法吗?
到目前为止我所做的是在输入中赋值ng-model =“field”,并在$ scope.field中添加add()。
在控制器中,我有一个项目数组和add()函数。 $ scope.field像一个中间步骤一样挂起来,以获取我不需要的add()的输入值。
我错过了什么,还是这个Angular的方式?
我会修改TheHippo的答案,并将field作为参数传递给add()。这更多的是代码设计选择,但我认为它可以提供更多的灵活性和更好的测试。
HTML:
<div ng-controller="MyFormController"> <form ng-submit="add(field)"> <input type="text" name="field" ng-model="field" /> <input type="submit" value="Submit" /> </form> </div>
JS:
app.controller('MyFormController',['$scope',function(scope) { scope.add = function(field) { // <-- here is you value from the input // ... }; }]);
还有一点注意:如果您在线上关注最多的AngularJS教程,其中有一些列表被管理,并且新项目被添加到该列表中,您几乎总是会看到其中一个倾向于“挂起”的属性(它们通常被命名为“newItem”等)。在某种程度上,这是AngularJS的方式:)