изолированная область видимости и вложенные директивы - PullRequest
0 голосов
/ 14 июля 2020

Я использую AngularJS v1.8, и у меня проблема с изолированной областью видимости и вложенными директивами. Пожалуйста, проверьте этот плункер (https://plnkr.co/edit/9BXn6QUBYEPy2lUH?open=lib%2Fscript.js) на предмет моего кода.

Обычно то, что я делаю, - это создание

верхнего уровня, управляемого контроллером с именем «myController». Внутри div верхнего уровня есть одна директива на основе элементов, контролируется контроллером "aCtrl", и включает собственную дочернюю директиву, . Обе и имеют изолированные области. * метод без аргументов с именем «shouting» метод с одним аргументом с именем «welcome (name)»

Я попытался передать их и . Странно то, что все работает нормально, кроме метода "приветствие (имя)" на . Если вы нажмете кнопки в предварительном просмотре плункера, вы обнаружите, что все работает нормально, за исключением кнопки «Приветствую Бетти» внутри (например, кнопка «Приветствую Бетти» на синем фоне). Я хочу знать, что здесь не так и как исправить, чтобы я мог передать метод верхнего уровня с аргументом дочерним директивам.

1 Ответ

1 голос
/ 15 июля 2020

Что мне подходит, так это изменить first_directive. html greeting="aCtrl.greeting(name)" на greeting="aCtrl.greeting({name: name})"

Не вдаваясь в подробности, кажется, что name неизвестен в той области, в которой вычисляется, и вызов функции полностью завершается ошибкой.

...