我有一些数据以非常奇怪的形式返回(一个字符串代表一个单选按钮组的所有选项/标签)。
示例:
"yes|Yes no|No"
因此,我必须将其转换为一对配对对象。我使用我的控制器上的一个函数执行此操作,该函数迭代在换行符上拆分的数据,然后对于该数组中的每个项,它创建一个带有值和label属性的obj,然后将其推送到数组中。在函数结束时,返回最后一个数组。结果看起来像
[{value:"yes", label:"Yes"},{value:"no"|label:"No"}]
我的标记如下所示:
<div ng-repeat="item in function(dataObj)"></div>
我知道发生了这个错误,因为angular要求同一个对象返回两次,因为其他主题有类似的问题。但是,我没有看到如何解决这个问题。
截至目前,该功能实际上工作正常,但我不想留下错误..
答案 0 :(得分:3)
每个摘要周期都会不断评估Ng-repeats - 这意味着您的功能将被反复调用。您正在每个周期创建一个新对象,这会导致角度不断重新评估,从而导致您解释的问题(full explanation here)。理想情况下,您应始终对静态数据调用ng-repeat:
$scope.data = function(dataObj);
将您的标记设置为:
<div ng-repeat="item in data"></div>