Я хочу знать, есть ли способ получить доступ к области директивы, если я установил для опции replace значение true. Например, вот начальный jsbin: http://jsbin.com/ABuSODub/2/editAngularJS: доступ для выделения области действия с заменой в директиве
Когда вы нажимаете на x
, директива закрывается. Функция close()
определена в области собственной изоляции объекта. Однако, если я устанавливаю замену на true, вещь перестает работать, что понятно, потому что директивы больше нет.
Можно ли его заставить работать? Там есть лучший подход. Я действительно не хочу устанавливать функцию close на родительском контроллере. Или это какая-то другая проблема, которую я не вижу?
Ваш код бросает ошибки 'TypeError: Невозможно вызвать метод«разбить»из undefined' –
@IlanFrumer Извините за это. Я исправил их и обновил ссылку выше. –
проблема с ng-при создании новой вложенной области, поэтому элемент transcluded не может правильно видеть родителя. Вы можете протестировать, удалив ng-if с ng-show, и ваша проблема будет решена easlily –