使用括号表示法添加到关联数组时,ng-repeat 不会更新

ng-repeat does not update when adding to an associative array using bracket notation

本文关键字:数组 ng-repeat 更新 关联 表示 添加      更新时间:2023-09-26

我是 Angular 的新手,我正在尝试将项目添加/推送到关联数组中。但是,当我使用括号表示法时,ng-repeat中的数据不会更新。我不知道为什么。

在 JS/coffee 控制器文件中,我有这个:

$scope.openDoc = (contentNumber)->
    $scope.openDocs[contentNumber] = {"content":"This is content"}

在HTML/Jade文件中,我有这个:

li(ng-repeat="(number, doc) in openDocs")
   a.(data-toggle="tab", ng-href="{{'#'+number}}") {{number}}

和这个(当用户单击此行时,它成功触发 openDoc 函数):

tr(ng-repeat="(number, doc) in otherDocs", ng-click="openDoc(number)")

我觉得自己太愚蠢了。由于尝试在 jsfiddle 中重新创建它,我现在有了答案。这是我的原始代码:

http://jsfiddle.net/Ey9nQ/3/

最初的问题是我从一个空对象开始:

$scope.things =[];

当我在控制台.log中输出它时,这显示得很好,但是在角度下不起作用。我需要将其更改为:

$scope.things = {};

这是工作版本:http://jsfiddle.net/Ey9nQ/4/