var $scope.form = {
Name: "",
fields: []
}
angular.forEach($scope.form.fields, function (f) {
if (f.hasOwnProperty('order')) {
//code to replace the value of the property
} else {
//if order is not present push the new values to the $scope.form.fields.
}
});
我有一个弹出他们我附加文本框。当我添加一个文本框时,我将对象推送到$ scope.form.fields即名称,ID,顺序..当我追加第二个文本框时,它是itering 2次,显示3个文本框。它为每个新文本框加倍。所以我想当$scope.form.fields
包含顺序时,我应该有权更改文本框的名称。如果它不存在,我只是将这些新对象推入$ scope。 form.fields.Can任何人都可以为它提供解决方案。
答案 0 :(得分:0)
我可以看到你有一个数组,即fields
,你需要在数组尚未包含相同值时推送新值。您可以使用数组的indexOf
或inArray
函数。请尝试以下代码段
angular.forEach($scope.form.fields, function (f, key) {
if (f.indexOf('order') >= 0) { // check whether array contains `order` or not
$scope.form.fields[key]['order'] = 'new value';
} else {
$scope.form.fields.push('new value');
}
});