Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用$scope.ngRepeat在指令中创建重复项_Angularjs_Angularjs Directive_Coffeescript_Qtip2 - Fatal编程技术网

Angularjs 使用$scope.ngRepeat在指令中创建重复项

Angularjs 使用$scope.ngRepeat在指令中创建重复项,angularjs,angularjs-directive,coffeescript,qtip2,Angularjs,Angularjs Directive,Coffeescript,Qtip2,我有一个指令,通过模板将动态数据放入qTip。它通过获取模板并在模板上使用$compile来实现(请原谅coffeescript): generateQtip只是在directive元素上创建一个新的qTip,并将第一个参数作为options对象的content属性 但是,每次我打开qTip时,模板中的ngRepeat会生成重复列表,即使使用limito作为过滤器也是如此。示例代码: <ul> <li ng-repeat="person in object.people

我有一个指令,通过模板将动态数据放入qTip。它通过获取模板并在模板上使用
$compile
来实现(请原谅coffeescript):

generateQtip
只是在directive元素上创建一个新的qTip,并将第一个参数作为options对象的
content
属性

但是,每次我打开qTip时,模板中的
ngRepeat
会生成重复列表,即使使用
limito
作为过滤器也是如此。示例代码:

<ul>
    <li ng-repeat="person in object.people | limitTo:3 track by $index">{{person.name}}</li>
</ul>
  • {{person.name}
在我打开qTip时第一次生成以下内容:

  • 无名氏
  • 无名氏
  • 约翰尼·道伊
时间:

  • 无名氏
  • 无名氏
  • 约翰尼·道伊
  • 无名氏
  • 无名氏
  • 约翰尼·道伊
这是第三次

  • 无名氏
  • 无名氏
  • 约翰尼·道伊
  • 无名氏
  • 无名氏
  • 约翰尼·道伊
  • 无名氏
  • 无名氏
  • 约翰尼·道伊
等等,等等


为什么会发生这种情况?有什么想法吗?这是我的完整指令代码。

不知道为什么,但我只需将
$compile
移到更里面

$http.get scope.qtipTemplate, cache: $templateCache
.then (html) ->
  generateQtip text: ->
    scope.$apply ->
      $compile(html.data)(scope)

您介意提供指向完整指令代码的正确链接吗?我还会发布:(函数(){$http.get(scope.qtipTemplate,{cache:$templateCache})。然后(函数(html){var clone;clone=$compile(html.data);返回generateQtip({text:function(){return scope.$apply(函数(){returnclone(scope);});}}}});}.call(this));作为您的代码,而不是使用咖啡脚本,因为没有多少人知道如何阅读或编写咖啡脚本。此外,您的指令代码链接已断开。这是一个愚蠢的问题,但由于指向完整代码的链接不起作用,而且我远不是咖啡专家,您是否在分配回数组之前清除了该数组?抱歉,修复了该链接。@tuckerjt07 which数组?不,我正在分配范围。不管怎样,我解决了这个问题,我会尽快发布答案
$http.get scope.qtipTemplate, cache: $templateCache
.then (html) ->
  generateQtip text: ->
    scope.$apply ->
      $compile(html.data)(scope)