Angularjs popover插件无法正常工作

时间:2014-01-26 10:23:40

标签: jquery angularjs angularjs-directive popover

我是angularjs的新手。我有一个问题与Popover jquery插件,我已经为它创建了一个指令,不知道为什么它不能正常工作

这是一个plunker link

1 个答案:

答案 0 :(得分:1)

在不对当前范围进行评估的情况下读取您的绑定。您可以使用范围手动进行评估。$ eval。

尝试以文本形式阅读数据并手动评估:

var api = scope.$eval($(this).attr('data-api'));

DEMO

使用$timeout将函数调度到下一阶段以确保角度已完成其绑定的另一种解决方案=>我们不再需要使用scope.$eval

app.directive('popover', function($timeout) {
  return {
    restrict: 'A',
    link: function(scope, element, attrs) {
      $timeout(function(){
          element.popover({
          trigger: 'hover',
          html: true,
          content: function() {
            var api = angular.fromJson(attrs.api);

            return (
              '<ul><li>' + api[0] + ',' + api[1] + '</li><li>' + api[2] + ',' + api[3] + '</li>');
          }
        });
      });
    }
  };
});

DEMO