我有一个模板,可以使用$ index值在ng-repeat指令中动态创建模型名称。这样我就可以增加最终传递的json元素标签。这是一个选择各种动态创建选项之一的字段。形式为:
<ng-model="data.items['item' + ($index+2)]">
这一切都很有效。我想使用附加到函数的按钮添加一个新功能,该按钮与按钮所绑定的任何特定ng-repeat实例相关联。此功能清除选项字段。所以在模板方面,我做了:
<ng-click="clearValue()" ng-disabled="!data.items['item' + ($index+2)]">
我希望控制器选择它。显然,由于控制器没有采用$ index属性,这不起作用。如果我对数字进行硬编码以测试它,如下所示:
$scope.clearValue = function() {
$scope.data.items.item2 = undefined;
};
效果很好。但当然做这样的事情不会:
$scope.clearValue = function() {
$scope.data.items['item' + ($index+2)] = undefined;
};
但当然,对其进行硬编码使其仅适用于该特定值。使用函数动态添加值,因此可以有一个,或一百个,或者介于两者之间。
有没有办法让clearValue函数在上面的表单中选择调用它的任何给定模型?
答案 0 :(得分:0)
你可以做的只是将$ index传递回函数参数
中的控制器<ng-click="clearValue(($index+2))" ng-disabled="!data.items['item' + ($index+2)]">
$scope.clearValue = function(index) {
$scope.data.items['item' + (index)] = undefined;
};
希望得到这个帮助。