gpt4 book ai didi

javascript - 对 $scope 数组的引用未在 angularjs 中更新

转载 作者:行者123 更新时间:2023-12-03 04:32:02 24 4
gpt4 key购买 nike

我有以下代码

var myapp = angular.module('myapp', []);
myapp.controller('FirstCtrl', function ($scope) {
$scope.people = [
{ id: 1, first: 'John', last: 'Rambo' },
{ id: 2, first: 'Rocky', last: 'Balboa' },
{ id: 3, first: 'John', last: 'Kimble' },
{ id: 4, first: 'Ben', last: 'Richards' }
];
$scope.updateByReference = function() {
var tst = $scope.people;
tst = [];
console.log($scope.people);
}
});

我希望 $scope.people 有一个新值和空数组对象,但它尚未更新,这是 fiddle http://jsfiddle.net/9fR23/409/

最佳答案

您的$scope.people是一个对象。当您执行var tst = $scope.people;时,它会将引用复制到tst中。当您执行 tst = [] 后,它会更改 tst 的值(这是对 $scope 的引用)。 people,而不是 $scope.people 的值)。所以实际上当你改变变量的整个值时,你只是将他设置为引用另一个对象。

就这么做

$scope.people = [];

关于javascript - 对 $scope 数组的引用未在 angularjs 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43451142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com