Подтвердить что ты не робот

Несколько директив [директива №1, директива № 2], запрашивающая изолированную область действия

Я пытаюсь создать новую директиву поверх уже существующей директивы, но я остановлен в своих процессах. При загрузке страницы я сталкиваюсь со следующей ошибкой:

Несколько директив [директива №1, директива № 2], запрашивающая изолированную область действия <easymodal title="Test-Title" text="Text-Text" oncancel="show = false" onok="alert();">

Базовая директива выглядит следующим образом:

Rohan.directive('easymodal', function () {
    return {
        restrict: 'E',
//      priority: 200,
        transclude: true,
        replace: true,
        scope:{
            showModal: "=show",
            callback: "=closeFunction",
            dismissable: '&'
        },
        template:
            '<div data-ng-show="showModal" class="modal-container">' +
                '<div class="modal-body">' +
                    '<div class="title"><span data-translate></span><a data-ng-show="dismissable" data-ng-click="dismiss()">x</a></div>' +
                    '<div data-ng-transclude></div>' +
                '</div>' +
                '<div class="modal-backdrop" data-ng-click="dismiss()"></div>' +
            '</div>'
    };
});

И моя директива оболочки выглядит следующим образом:

Rohan.directive('easydialog', function () {
    return {
        restrict: 'E',
        transclude: true,
        scope: {title: '@',
            text: '@',
            onOk: '&',
            onCancel: '&'},
        replace: true,
        template:
            '<easymodal>' +
                '{{text}} ' +
                '<hr>' +
                '<button ng-click="{{onCancel}}" value="Cancel"' +
                '<button ng-click="{{onOk}}" value="Ok"' +
            '</easymodal>'
    };
});

Мой html выглядит так:

<easydialog title="Test-Title" text="Text-Text" onCancel="show = false" onOk="alert();" />

Сначала я, хотя мой атрибут title был конфликтующим, поэтому я удалил этот атрибут в строке html и из моей директивы оболочки, но не был эффективным.

4b9b3361

Ответ 1

Вам нужно изменить шаблон easydialog и обернуть <easymodal> в <div>.

Ответ 2

Ваша проблема заключается только в том, что вы добавляете аргумент template внутри directive, а также добавляете тег шаблона разрешения с именем <easydialog> в свой фактический HTML-шаблон. У вас есть выбор того или другого.