在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5/ angular 用集合a=[0,1,2,3,4]給$scope.b賦值,改變$s

angular 用集合a=[0,1,2,3,4]給$scope.b賦值,改變$scope.b,a也跟著改變

angular 用集合a=[0,1,2,3,4]給$scope.b賦值,通過$scope.b.splice(1,1)移除元素,此時$scope.b為[0,2,3,4],而a也跟著變成[0,2,3,4],這是為什么???求大神指點...

回答
編輯回答
陌顏

可以用angular.copy()進行拷貝而不是直接賦值

2017年6月15日 20:57
編輯回答
傲嬌范

引用問題。去搜下深拷貝把。
一個簡單的做法是 JSON.parse(JSON.stringfy(a))

2018年9月18日 04:30
編輯回答
故人嘆

既然你的數(shù)組里都是數(shù)字 (Primitive Type),那你只需要 $scope.b = a.slice(); 就可以完成深拷貝。然后對 $scope.b 繼續(xù)執(zhí)行 splice 操作就可以了

順便,這個和 angular.js 無關,是 JavaScript 的特性。$scope.b = a 是把 a 的引用賦給 $scope.b

2018年4月23日 17:46