我试图在同一个视图中调用指令两次。加载页面时出现以下错误:
ionic.bundle.js:21162Error: [$compile:multidir] Multiple directives [translate (module: pascalprecht.translate),mwConfirmClick] asking for new/isolated scope on:
我的指示:
app.directive( "mwConfirmClick", [
function( ) {
return {
priority: -1,
restrict: 'A',
scope: { confirmFunction: "&mwConfirmClick" },
link: function( scope, element, attrs ){
element.bind( 'click', function( e ){
// message defaults to "Are you sure?"
var message = attrs.mwConfirmClickMessage ? attrs.mwConfirmClickMessage : "Are you sure?";
// confirm() requires jQuery
if( confirm( message ) ) {
scope.confirmFunction();
}
});
}
}
}
]);
你能帮助我制定我的指示吗?
提前致谢
答案 0 :(得分:0)
看起来您正在使用具有隔离范围(scope: {...}
)的两个指令,而不仅仅是在同一个视图中,而是在同一个元素上。你的元素可能看起来像这样:
<p mw-confirm-click="..." translate="..." ...></p>
您必须使用隔离范围(mw-confirm-click
或translate
指令)删除其中一个指令,或者必须从指令中删除隔离范围并使用父范围中的变量...
答案 1 :(得分:0)
我删除了translate指令并且它有效。感谢