【问题标题】:Initialize tooltips after view load视图加载后初始化工具提示
【发布时间】:2015-02-18 18:56:36
【问题描述】:

我的视图加载后如何初始化 Bootstrap 工具提示(所有 ng-repeats 等都已完成)?
我试图在我的控制器底部包含$('[data-toggle="tooltip"]').tooltip();,但它没有在 ngRepeats 中初始化工具提示。

是否有任何事件会在视图发生任何变化时触发?

【问题讨论】:

  • 那段 JS 是否在页面加载完成时触发的事件中?
  • @Jaxo,是的,它在 $on.$viewContentLoaded 内部。

标签: javascript angularjs twitter-bootstrap


【解决方案1】:

您可以尝试$viewContentLoaded 事件。

每次重新加载 ngView 内容时发出。

$scope.$on('$viewContentLoaded', function(event){
    console.log('content loaded!')
  });

没有通知 ng-repeat 完成的事件。您可以将 ng-repeat 包装在指令中,然后检查 scope.$last 是否为真。此外,您可以使用 $evalAsync 来确保回调/函数在 DOM 构建后执行。

if (scope.$last) {
   scope.$evalAsync(attr.someCallback);
}

ng-repeat finish event

Calling a function when ng-repeat has finished

fiddle ($evalAsync)

【讨论】:

  • 我已经尝试过$viewContentLoaded,但没有结果。它在静态内容中加载工具提示,但不在 ngRepeats 中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-25
  • 1970-01-01
  • 2016-05-07
  • 2019-01-14
  • 1970-01-01
  • 2018-08-13
  • 1970-01-01
相关资源
最近更新 更多