внедрить директивы AngularJS

0

в настоящее время я разработал приложение angularJS без директив. Это прекрасно работает, но теперь мне нужен мой код в другом месте, поэтому я буду использовать свой код, чтобы использовать мои директивы.

Мое приложение выглядит аналогичным:

Моя текущая структура приложения

<button type="button" ng-click="vm.buttonInDirectiveShouldInvokeControllerFunction()">First Testfunction</button>

Нет. Я попытался использовать директиву здесь:

Мое приложение с директивой - не работает

<button type="button" ng-click="vm.functionOfControllerShouldBeInvoked()">First Testfunction</button>

Моя проблема в том, что я не знаю, как я могу использовать некоторые (например, 15) атрибуты ng-click в моей директиве таким образом, чтобы вызывались разные функции в моем контроллере.

Большое спасибо за помощь!

Теги:
angularjs-directive

1 ответ

1
Лучший ответ

Вам нужно только передать свой onTest через директиву, например:

<my-customer customer="naomi" on-test="onTest"></my-customer>

а также

//...
scope: {
    customer: '=',
    onTest: '='
}, //...

или, альтернативно, если вы хотите разрешить общие выражения ng:

<my-customer customer="naomi" on-test="onTest()"></my-customer>

а также

//...
scope: {
    customer: '=',
    onTest: '&'
}, //...

Рабочая скрипка: http://jsfiddle.net/8v9wf4ea/

  • 0
    Большое спасибо - все работает отлично. У меня был бы еще один вопрос: ** общее нг выражение ** мне не понятно - если у меня есть onTest: «&», чем оповещение не вызывается. Можно ли изменить jsfiddle таким образом, чтобы разрешить общие выражения ng. Спасибо за помощь!
  • 0
    ОК onTest () со скобками делает свое дело :-).
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню