Javascript 变量自动更改值,无需AngularJS中的任何链接
我在AngularJS的控制器中有两个变量,即Javascript 变量自动更改值,无需AngularJS中的任何链接,javascript,arrays,angularjs,object,Javascript,Arrays,Angularjs,Object,我在AngularJS的控制器中有两个变量,即 _this.currentData=new Array(); _this.masterCurrentData=new Array(); 后来,我创建了另一个临时对象数组,并使用循环等单独填充 var tmpDataSort=[{ "values":new Array(), disabled: false, "key":"Retail" },{ "va
_this.currentData=new Array();
_this.masterCurrentData=new Array();
后来,我创建了另一个临时对象数组,并使用循环等单独填充
var tmpDataSort=[{
"values":new Array(),
disabled: false,
"key":"Retail"
},{
"values":new Array(),
disabled: true,
"key":"Commercial"
},{
"values":new Array(),
disabled: true,
"key":"Industrial"
},{
"values":new Array(),
disabled: true,
"key":"Residential"
}]
_this.masterCurrentData=tmpDataSort;
_this.currentData=tmpDataSort;
tmpDataSort=null;
以后每当我对当前数据执行自动操作时,MasterCurrentData的值都会发生变化,并且我从未使用过MasterCurrentData
_this.modifyCurrentBean = function(locName, selectFlag){
console.log(_this.masterCurrentData[0].values)
for(var i=0;i<_this.currentData.length;i++){
for(var j=0;j<_this.currentData[i].values.length;j++){
if(_this.currentData[i].values[j].x==locName){
_this.currentData[i].values.splice(j,1);
break;
}
}
}
console.log(_this.masterCurrentData[0].values)
}
\u this.modifyCurrentBean=函数(locName,selectFlag){
console.log(_this.masterCurrentData[0]。值)
对于(var i=0;i您将tmpDataSort
分配给\u this.currentData
和\u this.masterCurrentData
,因此通过更改\u this.currentData
您可以更改tmpDataSort
和\u this.mastercurrentdatadata
。您可以使用\u this.currentData=copy>创建tmpDataSort
的副本(tmpDataSort);
您能做一个演示吗,这样我们可以尝试一些帮助您的方法。因为currentData和masterCurrentData引用同一个数组。在数组上调用splice将影响这两个数组。currentData
和masterCurrentData
指向同一个数组。