【发布时间】:2014-01-26 10:23:39
【问题描述】:
我是 angularjs 的新手。我的 Popover jquery 插件有问题,我为它创建了一个指令,但不知道为什么它不能正常工作
这里是一个笨蛋link
【问题讨论】:
标签: jquery angularjs angularjs-directive popover
我是 angularjs 的新手。我的 Popover jquery 插件有问题,我为它创建了一个指令,但不知道为什么它不能正常工作
这里是一个笨蛋link
【问题讨论】:
标签: jquery angularjs angularjs-directive popover
您的绑定被读取而不针对当前范围进行评估。您可以使用 scope.$eval 手动进行评估。
尝试将数据读取为文本并手动评估:
var api = scope.$eval($(this).attr('data-api'));
另一种解决方案是使用$timeout 将函数安排到下一阶段以确保 angular 已完成其绑定 => 我们不再需要使用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>');
}
});
});
}
};
});
【讨论】: