我有一些代码,可以在jsfidle上运行,但不能在本地运行。 在这段代码中,我有一个编译模板并附加到DOM的指令。在这个模板中,我绑定了一些ng-click事件(关闭弹出窗口)。此事件触发一次,当第二次打开popover并尝试关闭它时,它不起作用。 代码如下:
mymodal.directive('editable', function ($compile) {
return {
restrict: 'EAC',
template: "<a href='#' id='pop-over-link'>Show pop-over</a>",
scope: {test: '&'},
link: function(scope, element, attrs) {
scope.closePopover = function($event){
var el = $event.target;
$($event.target).parents('div.popover').popover('hide');
};
var templateData =
"<button class='btn btn-default btn-sm cancel' ng-click='closePopover($event)'>Cancel</button>";
var compliedData = $compile(templateData)(scope);
$(element)
.popover({html: true,
content: compliedData
})
.on('click', function(e) {
e.preventDefault();
return true;
});
}
}
这里是jsFiddle:http://jsfiddle.net/vc4sd1fe/ 我如何调试这种情况?哪里可能是问题?我很困惑为什么这段代码只能完美地工作一次。我怎么能找到无处修复的呢?
答案 0 :(得分:0)
我在本地制作了相同的环境。但没有得到任何问题。无论如何检查这个小提琴更多细节或我可以发送我创建的html文件来测试相同的代码。它工作得很好。每次点击都会关闭弹出窗口。
http://jsfiddle.net/Satbir/cswcopgr/
刚刚删除了一些代码:
scope:false,
和指令:
<editable></editable>
请检查并报告我。帮助你真是太好了。