1

我在中继器范围内设置了一个输入,以便用户可以修改该值并查看该行上该值的计算结果 - 目的是具有类似电子表格的行为。

我想知道自动填充输入框的最佳方法是什么,以便在正确更新模型的情况下将该字段设置为某个值。我已经设置了一个小提琴,试图将数字 4 插入 value 属性:

http://jsfiddle.net/BVRzh/

这是模板:

<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];
}

有没有更好的方法来解决这个问题?

4

1 回答 1

2

ngInit可能有用:

<input type="text" ng-model="testVal" ng-init="testVal = a">

示例:http: //jsfiddle.net/BVRzh/3/

如果我理解正确,这是您可以使用的唯一情况ngInit。来自文档的引用:

ngInit 的唯一适当用途是对 ngRepeat 的特殊属性进行别名化,如下面的演示所示。除了这种情况,您应该使用控制器而不是 ngInit 来初始化作用域上的值。

于 2013-10-11T13:30:44.477 回答