drupal 7 - AngularJS ng-repeat in Drupal7 Dupes Error



下午好,

我有一个恼人的问题与AngularJS (v1.3.15)在Drupal7内部。(注意:我刚才提到CMS是完整的,但我不认为这是问题。)

我试图在div上使用ng-repeat,但我一直得到错误-> Error: [ngRepeat:dupes] http://errors.angularjs.org/1.3.15/ngRepeat/dupes?p0=x in RESULTS&p1=string: ...

我写了一个示例jsfiddle,它模仿了我在Drupal 7模块中的实现,但是它在jsfiddle上的工作如预期的那样,见以下链接:https://jsfiddle.net/angsar/n8e312wf/

它只是在模块中不起作用,具有相同的示例数据。对于如何解决这个问题,或者至少找到真正的原因,有什么想法吗?

注意:我甚至尝试了'track by'子句,如这里提到的:https://docs.angularjs.org/error/ngRepeat/dupes

'track by'在jsfiddle中工作,但在D7模块中不工作。与模块中的'track by'的唯一区别是,控制台上不会显示错误,它不会打印出渲染的角表达式,并且它会将循环输出增加三倍。(例如:如果要从ng-repeat创建2个div,它将创建大约6个div)。

谢谢。

我解决了。我有一个非常愚蠢的错误在我的JavaScript文件为我的D7模块。

(注意:参考上面的JSFiddle来理解变量和它们的数据)

我的错误是:$scope.DATA = $filter('json')(data);它分配了一个'字符串'而不是'JSON对象',因此'ng-repeat'会在迭代时拾取字符数组,导致重复错误,因此它解释了为什么当我尝试'track by'时,为什么我无法让表达式工作(仅仅因为对象不存在),以及div等的三倍,因为它是一个字符串,正在逐个字符进行评估。

注意:'data'来自AngularJS中的AJAX回调。

最新更新