【发布时间】:2015-03-22 15:54:07
【问题描述】:
我正在尝试使用带有 angularjs 和 twitter 引导程序的自定义 html 创建一个弹出框。由于此功能尚未在 angular-ui 中实现,我正在尝试在 angular 指令中使用引导方法。
所以我创建了包含此类代码的指令:
link: function(scope, element, attrs) {
var templateData =
"<button class='btn btn-default btn-sm cancel' ng-click='closePopover($event)'>Cancel</button>";
var compliedData = $compile(templateData)(scope);
angular.element(element).find('a')
.popover({html: true,
content: compliedData})
.on('click', function(e) {
e.preventDefault();
return true;
});
}
我遇到的问题是模板已正确添加到页面中,并且弹出框效果很好。但是编译模板中的ng-click 方法根本没有触发。
我做错了什么,我该如何做对?
【问题讨论】:
-
为我们提供 jsfiddle。
-
你有
scope.closePopover函数吗? -
@DanielDarabos 是的。我已经从父范围传递了它,甚至在隔离范围内创建了新函数。即使我只是发出警报,ng-click 也不会触发:ng-click='alert("test!")'。
-
nope.code 没有 scope.closePopover 功能。丹尼尔是正确的。放那个函数。
标签: javascript jquery angularjs twitter-bootstrap angular-ui