当我使用concat方法时,我的$ scope不会更新
var anotherList = ["2", "3", "4"];
$scope.list = [];
$scope.list.concat(anotherList);
但是在循环中使用数组推送方法,我的$ scope会更新
答案 0 :(得分:5)
你的语法错了。您需要将else if(cont == "Y" || cont == "y")
的返回值分配给范围数组。
.concat()
或者,如果您使用$scope.list = $scope.list.concat(anotherList);
,则可以将结果直接绑定到作用域数组,而无需“重新分配”,因为它将在您的引导下完成。
call()
请参阅documentation。
答案 1 :(得分:1)
大卫说的是对的。只是添加:concat()不修改数组,它只是根据收到的参数返回一个新数组。查看此信息以获取更多信息:
答案 2 :(得分:0)
如果你想维护原始数组,而不是concat
,你可以这样做:
Array.prototype.push.apply($scope.list, anotherList);