我在转发器范围内设置了一个输入,以便用户可以修改该值并查看该行上该值的计算结果 - 目的是获得类似行为的电子表格。
我想知道自动填充输入框的最佳方法是什么,以便在模型正确更新时将字段设置为某个值。我设置了一个试图将数字4插入值属性的小提琴:
这是模板:
<div ng-app>
<ol ng-controller="TestCtrl">
<li ng-repeat="a in arr">
<input type="text" ng-model="testVal" value="4"></input>
<span>Value: {{testVal}}, Times {{a}}: {{testVal * a}}</span>
</li>
</ol>
</div>
这是javascript:
function TestCtrl($scope) {
$scope.arr = [1, 2, 3, 4];
}
有没有更好的方法来解决这个问题?
答案 0 :(得分:2)
ngInit
非常有用:
<input type="text" ng-model="testVal" ng-init="testVal = a">
示例:http://jsfiddle.net/BVRzh/3/
如果我理解正确,这是您可以使用ngInit
的唯一情况。来自文档的引文:
唯一适当使用ngInit来对别名的特殊属性进行别名处理 ngRepeat,如演示文件中所示。除了这种情况,你应该 使用控制器而不是ngInit来初始化作用域上的值。