【问题标题】:angular-strap tooltip not working in ng-repeatangular-strap 工具提示在 ng-repeat 中不起作用
【发布时间】:2014-03-06 12:15:36
【问题描述】:

问题:angular-strap 有问题吗?还是我误解了 Angular 的工作原理,这是意料之中的?

I've created a plunker to demonstrate the behavior.

我想要什么: 我想为 ng-repeat 中的每个项目显示不同的工具提示。

我看到的行为: 在某些情况下,工具提示内容未正确插入到内容模板中。因此,您只能看到模板,而不是内容模板或内容本身。

条件:

  • 首次加载页面时,工具提示按预期工作。
  • 将项目添加到 ng-repeat 时,其工具提示不会填充模板的内容部分。
  • 如果页面以 ng-repeat 中的零项开始,则添加的 first 项中的工具提示将按预期工作。之后添加的项目会出现问题。
  • 无论 ng-repeat 从多少项开始,从其中删除任何项都会使以后添加的所有项都没有有效的工具提示。

想法:如果我把它归结为“第一次加载”工作正常。在那之后,它没有。我猜想发生的事情是在第一轮将项目添加到 ng-repeat 之后发生了一个编译步骤。此时,angular-strap 工具提示代码会看到指令属性,并设置这些工具提示和内容模板。 angular-strap 错过了对 ng-repeat 的后续更改(即使我可以在控制台中看到来自bs-popover=tooltip(item) 的调用实际上在每次更新 ng-repeat 列表时都会运行)。但我仍然很困惑,想知道这是否是我可以解决的行为。

如何在添加到 ng-repeat 的项目中允许动态工具提示?

【问题讨论】:

  • 这似乎有效 (_popover.html) <div class="popover-content">{{content}}</div> 那是使用 {{ }} 而不是 ng-bind... 完全奇怪
  • 请将其添加为答案。但是,该方法会绕过内容模板。请注意,当使用{{content}} 时,“这是一个我将显示动态查找的弹出框”(蓝色文本)部分不存在,无论哪种方式,我都想知道发生了什么以及是否值得向 angular-strap 报告.

标签: angularjs tooltip popover angular-strap


【解决方案1】:

这似乎适用于_popover.html

<div class="popover-content">{{content}}</div>

那是使用{{ }} 而不是 ng-bind...非常奇怪。

经过进一步调查......它可能发生在附近的某个地方:

https://github.com/mgcrea/angular-strap/blob/master/src/tooltip/tooltip.js#L83

虽然我还不知道在哪里/如何/什么。

更新

所以错误(在 Angular-Strap 中)与缓存您的模板有关。初始检索(通过 http)工作正常。但是它将它们缓存为一个数组,并在从缓存中检索(后续添加)时获得一个数组。哪个没有.data property 所以你的模板是空的,你的ng-bind 被删除了..

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-26
  • 2016-12-01
  • 1970-01-01
相关资源
最近更新 更多