0

我有一些以非常奇怪的形式返回的数据(代表单选按钮组的所有选项/标签的单个字符串)。

例子:

"yes|Yes no|No"

正因为如此,我必须将它转换成对对象的数组。我使用控制器上的一个函数来执行此操作,该函数在换行符上对数据进行一次拆分,然后为该数组中的每个项目创建一个具有值和标签属性的对 obj,然后将其推送到数组中。在函数结束时,返回最终数组。结果看起来像

[{value:"yes", label:"Yes"},{value:"no"|label:"No"}]

我的标记如下所示:

<div ng-repeat="item in function(dataObj)"></div> 

我知道这个错误正在发生,因为 angular 期望同一个对象返回两次,就像其他有类似问题的主题一样。但是,我不知道如何解决此问题。

截至目前,该功能实际上可以完美运行,但我不想将错误留在..

4

1 回答 1

3

在每个摘要循环中不断评估 Ng-repeats - 这意味着您的函数将被一遍又一遍地调用。您正在每个周期创建一个新对象,这会导致 angular 不断重新评估,从而导致您解释的问题(此处的完整解释)。理想情况下,您应该始终针对静态数据调用 ng-repeat:

$scope.data = function(dataObj);

并将您的标记设置为:

<div ng-repeat="item in data"></div> 
于 2013-10-16T14:37:24.937 回答