в настоящее время я разработал приложение angularJS без директив. Это прекрасно работает, но теперь мне нужен мой код в другом месте, поэтому я буду использовать свой код, чтобы использовать мои директивы.
Мое приложение выглядит аналогичным:
Моя текущая структура приложения
<button type="button" ng-click="vm.buttonInDirectiveShouldInvokeControllerFunction()">First Testfunction</button>
Нет. Я попытался использовать директиву здесь:
Мое приложение с директивой - не работает
<button type="button" ng-click="vm.functionOfControllerShouldBeInvoked()">First Testfunction</button>
Моя проблема в том, что я не знаю, как я могу использовать некоторые (например, 15) атрибуты ng-click в моей директиве таким образом, чтобы вызывались разные функции в моем контроллере.
Большое спасибо за помощь!
Вам нужно только передать свой 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/