我正试图将工具提示初始化从jQuery移到自定义指令的link函数中。HTML相当简单:

<p data-toggle='tooltip' data-placement='bottom' title='Players live: {{players.loggedIn}}' id='login-count'>

当前jQuery:
$(document).ready(function() {
  $('#login-count').tooltip();
});

我在自定义指令中尝试执行的操作:
function link(scope, element) {
  var loginCount = angular.element(element[0].querySelector('#login-count'));
  angular.element(document).ready(function() {
    loginCount.tooltip();
  });
}

但是,我得到了以下错误:
Uncaught TypeError: loginCount.tooltip is not a function

最佳答案

你的自定义指令应该是这样的

angular.module('yourAppName') .directive('mytooltip', function() {
'use strict';

return {
    restrict: 'A',
    link: function(scope, el) {
        $(el).tooltip();
    }
};
});

然后我html你可以添加如下:
<p data-toggle='tooltip' data-placement='bottom'
title='Players live: {{players.loggedIn}}' id='login-count' mytooltip>

还要记住在angular.js之前包含jquery,否则angular将加载并使用jqlite。
无论如何,我宁愿使用角度工具提示,比如http://720kb.github.io/angular-tooltips或者更好的角度http://angular-ui.github.io/bootstrap引导

09-25 11:58