我是angularjs的新手。我有一个问题与Popover jquery插件,我已经为它创建了一个指令,不知道为什么它不能正常工作
这是一个plunker link
答案 0 :(得分:1)
在不对当前范围进行评估的情况下读取您的绑定。您可以使用范围手动进行评估。$ eval。
尝试以文本形式阅读数据并手动评估:
var api = scope.$eval($(this).attr('data-api'));
使用$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>');
}
});
});
}
};
});