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();
};
$範圍$適用於: 感謝