我'想在AngularJS中使用jQuery插件。我用一个指令初始化它:
.directive('myDirective', function($compile) {
return {
link : function(scope, elem, attrs) {
statusPopup = elem.find('div');
scope.$on('anEvent', function(event, param) {
popupParam = {
context : ".anId",
title : '<div class="ui label"><i ng-click="test()" class="remove icon""></i></div>' + param.title,
content : param.text
};
statusPopup.popup(popupParam).popup('show');
scope.test = function() {
console.log('Clic passsed !')
}
})
},
templateUrl : 'myTemplate.html'
};
});
此插件在我的DOM(myTemplate.html
视图)中插入您可以在popupParam.title
参数中看到的HTML代码。
但是这段代码包含一个我希望用ng-click
指令激活它的图标。
如何编译此内容?我测试了以下代码:
title : $compile('<div class="ui label"><i ng-click="test()" class="remove icon""></i></div>' + param.title)(scope)
但是它返回了我的插件无法理解的对象。任何想法或解决方法?
答案 0 :(得分:2)
对于遇到同样问题的人:
title
似乎期望某些HTML作为字符串
$compile(...)(scope)
返回一个angular / jQuery元素。
如果插件无法处理,您可以:
$compile
将这些元素插入DOM后的必要元素<子> 这一切都取决于插件,当然还有它的作用。 子>