我试图在windowClass字段中将指令作为类传递,但它似乎没有编译,因此不会调用该指令。
莫代尔:
...
$modal.open({
templateUrl: 'modal.html',
scope: scope,
controller: 'myCtrl as controller',
backdrop: false,
windowClass: 'directive'
})
.result.then(function (data) {
// something
});
...
指令:
...
.directive('directive', function() {
return {
link: function(scope, element, attr) {
var modal = element;
console.log("directive called");
// real code goes there
}
};
});
...
使用此配置,指令永远不会被调用。
我目前正在使用解决方法,但我对此并不满意:
指令:
...
.directive('directive', function() {
return {
link: function(scope, element, attr) {
var modal = element.parent().parent().parent();
console.log("directive called");
// real code goes there
}
};
});
...
modal.html:
<div directive>
<!-- something -->
</div>
我发现了同样的问题 here但是除了我的解决方法之外它没有其他答案,所以我将使用相应的标记重新发布它: angular-ui-bootstrap ,如{{3}所指定的那样希望得到更好的答案。
我正在使用:
答案 0 :(得分:0)
更新:请参阅下面的评论。
目前,我们不会重新编译该元素。相反,我们只需调用$element.addClass
并传入用户指定的windowClass
值。
但是,我们认为可能存在此用例,如果您不介意,请您输入新问题here。
请将此SO帖子链接到新问题。感谢。