在ng-repeat中将范围变量设置为ng-model

时间:2015-12-30 10:18:28

标签: javascript angularjs

这是我的代码

HTML

 <ul>
    <li ng-repeat="obj in objsInObj">
        obj.str = <input ng-model="obj.str" />
    </li>
 </ul>
 obj in <code>{{ strA.a1 }}</code>
 obj in <code>{{ strA.a2 }}</code>

的Javascript

$scope.strA = {a1:"abc", a2:"bcd"};
$scope.objsInObj = {
    a: {
        str: $scope.strA.a1
    },
    b: {
        str: $scope.strA.a2
    }
};

我想将$ scope.strA.a1和$ scope.strA.a2设置为ng-model到两个文本框,这里最初文本框值正确加载,但如果我更改文本框中不可见的值在范围变量

1 个答案:

答案 0 :(得分:0)

我无法理解为什么你需要这个结构,但这段代码工作正常

<ul>
    <li ng-repeat="obj in objsInObj track by $index">
        obj.str = <input ng-model="obj.str" data-ng-change="Modify($index, obj);" />
    </li>
</ul>

这是javascript

$scope.Modify = function(index, v) {
    $scope.strA["a"+ (index+1)] = v.str;
};

这里是工作fiddle