当我替换包含正在被该对象的另一个实例观看的属性的对象时...... AngularJS似乎失去了对该属性的引用......我能理解......但是什么是好方法例如,在ng-repeat指令中重新连接成员属性。例如......
HTML
<div ng-repeat="portfolio in data.portfolios">
{{ portfolio.name }}
<div>
JS
$scope.data = {};
$scope.data.portfolios = [
{ Name: "aaa" },
{ Name: "bbb" }
];
$scope.portfoliosService.loadPortfolios(clientId, true, true)
.success(function (response) {
$scope.data = response.data;
});
注意:response.data包含一个名为portfolio的数组。
答案 0 :(得分:1)
我认为问题在于,在portfolios
分配response.data
时会丢失$scope.data
属性。因此,ng-repeat
永远不会呈现,因为在分配portfolios
后没有属性response.data
。
所以,它不是关于观看,角度仍然在关注$scope.data
,只是ng-repeat
无法找到portfolios
属性Check this plunkr < / p>
只需将代码更改为
即可$http.get('data.json')
.then(function (response) {
$scope.data.portfolios = response.data;
});
此外,不要使用success
,因为它已被弃用
另一种情况which is covered in plunkr。如果它涵盖您所寻找的内容,请告诉我。在这里,我已将property
分配给$scope.data