0
如何更改JSON元素的值。AngularJS - 更改JSON值
我有一个这样的JSON在我CONTROLER
$scope.cfg= {
"cfgName" : "Name",
"cfgs": [
{
"cfgsName": "form.0",
"cfgValue": "hello"
},
{
"cfgsName": "form.1",
"cfgValue": "fname"
},
{
"cfgsName": "form.2",
"cfgValue": "how?"
}
]
};
现在我有一个场中cfgs
阵列添加作为第一元件的方法。
$scope.newField=function(fieldNameVal) {
var newfield={
"cfgValue": fieldNameVal
};
$scope.cfg.cfgs.splice(0,0,newfield);
$scope.$apply();
};
以上工作正常。但是我想改变数组中每个数组的值cfgValue
,以便数值看起来像索引一样。
增加新项之后的必需的JSON字符串是
{
"cfgName": "Name",
"cfgs": [
{
"cfgsName": "form.0",
"cfgValue": "someVal"
},
{
"cfgsName": "form.1",
"cfgValue": "hello"
},
{
"cfgsName": "form.2",
"cfgValue": "fname"
},
{
"cfgsName": "form.3",
"cfgValue": "how?"
}
]
}
我曾尝试添加项之后内部newField()
方法下面的代码。
for(var i=0;i<$scope.cfg.cfgs.length;i++) {
var val="engine.form."+i;
$scope.cfg.cfgs[i].push({"cfgsName" : val});
}
但它显示错误。
Uncaught TypeError: Object #<Object> has no method 'push'
什么是正确的方法?不需要
$scope.newField=function(fieldNameVal) {
var newfield = {
cfgValue: fieldNameVal
};
$scope.cfg.cfgs.splice(0,0,newfield);
$scope.$apply();
};
$范围$适用于: 感谢