同一视图中的多个指令不起作用/ Angularjs

时间:2016-06-19 15:58:47

标签: javascript angularjs angularjs-directive ionic-framework

我试图在同一个视图中调用指令两次。加载页面时出现以下错误:

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();
                }
            });
        }
    }
}
]);

你能帮助我制定我的指示吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

看起来您正在使用具有隔离范围(scope: {...})的两个指令,而不仅仅是在同一个视图中,而是在同一个元素上。你的元素可能看起来像这样:

<p mw-confirm-click="..." translate="..." ...></p>

您必须使用隔离范围(mw-confirm-clicktranslate指令)删除其中一个指令,或者必须从指令中删除隔离范围并使用父范围中的变量...

答案 1 :(得分:0)

我删除了translate指令并且它有效。感谢