双向绑定不适用于ng重复
two way binding not working with ng-repeat
我有一个简单的ng重复列表,其中我将当前列表项值分配给控制器上的另一个属性,如下所示:
<li ng-repeat="num in list">
<input type="text" ng-init="value = num" ng-model="value" />
<button type="button" class="btn btn-primary" ng-click="save()">Save</button>
</li>
但是,当我单击"保存"按钮时,我会为$scope.value设置默认值。我希望显示特定输入文本的值。
这是控制器:
angular.module('myApp', [])
.controller('MyController', function($scope){
$scope.value = false;
$scope.list = [0, 1, 2, 3, 4];
$scope.save = function() {
alert($scope.value);
}
});
如何在保存函数调用时访问控制器中输入项的更新值。
这是相同的plunker:plnkr
更新:我希望在不将值作为参数传递的情况下将其获取到控制器。
哇,我不敢相信大多数人都错过了这个。如果您使用的是Angular 1.2,那么您肯定应该在ngRepeat指令中检查track by
关键字。
<li ng-repeat="num in list track by $index">
<input type="text" ng-model="list[$index]" />
<button type="button" class="btn btn-primary" ng-click="save()">Save</button>
</li>
底线是在绑定时远离基元类型,因为这会给您带来同步问题。
同学们,请花更多的时间和精力研究你的解决方案,而不仅仅是发布积分。
希望这能有所帮助!
ngRepeat创建一个作用域,因此,对象通过引用传递,并通过值进行编号。你的代码有问题,如果你成功地更新了值,它会更新ng中的所有数字。你可以这样做:
html
{{value.val}} <!-- for check the value -->
<li ng-repeat="num in list">
<input type="text" ng-model="num" />
<button type="button" class="btn btn-primary" ng-click="value.val=num">Save</button>
</li>
javascript
angular.module('myApp', [])
.controller('MyController', function($scope){
$scope.value = {val:false};
$scope.list = [0,1,2,3,4];
});
http://jsfiddle.net/oq6zdeLd/
我很抱歉我的英语。。。
这里是如何实现
<li ng-repeat="num in list">
<input type="text" ng-init="value = num" ng-model="value" />
<button type="button" class="btn btn-primary" ng-click="save(value)">Save</button>
</li>
angular.module('myApp', [])
.controller('MyController', function($scope){
$scope.value = false;
$scope.list = [0, 1, 2, 3, 4];
$scope.save = function(argument) {
$scope.value = argument;
alert($scope.value);
}
});
我们不要滥用表达式"双向绑定";)
您的控制器有一个作用域,而该作用域中只有一个$scope.value
。不能强制is同时具有多个值。
CCD_ 3为每个CCD_ 4创建新的作用域。即使您尝试使用$parent.value
,控制器的$scope.value
也只能在ng-init
中具有最后一个赋值
在这种情况下,最好将值作为参数传递。希望这有助于进一步解释这个问题。如果我错了,请纠正我。
相关文章:
- 角度:在ng重复上切换图像
- 角度的项目列表 ng 重复,ng 单击显示全宽描述
- 防止ng重复中的重复值(AngularJS)
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 在ng重复循环中显示来自不同文件夹的图像
- 在ng重复循环中显示条件内容的最佳方式是什么
- 离子2:在离子载玻片内产生ng重复
- 正在ng重复元素上添加事件
- 嵌套ng重复angularjs
- ng模型内的ng重复的ng重复开始
- 混合元素的有角度的ng重复
- 如何避免在angular上多次调用方法;s ng重复
- 在表格格式中使用ng重复
- AngularJS ng重复处理空列表事例
- 如何在AngularJS-ng重复循环中将长JSON路径缩短为变量
- Angular在与ng重复作斗争
- ng重复中的ng模型-初始化唯一作用域属性
- ng重复变量到ng模型
- 尝试使用ng重复时出现空白屏幕
- 如何防止由ng重复引起的net::ERR_INSUFICIENT_RESOURCES错误