Всё таки убивают меня директивы. Надо добить понимание.
Делаю так на странице
<div ng-repeat="item in ctrl.products">
<add-to-cart item="item.name"></add-to-cart>
</div>
Директива
(function () {
'use strict';
angular
.module('admin')
.directive('addToCart', addToCart);
function addToCart() {
var directive = {
link: link,
scope: {
'item': '=',
'itemClick': '&'
},
transclude: true,
template: '<div>{{item}}<button ng-click="addItem()">+</button></div>',
restrict: 'EA',
controller: AddToCartController
};
return directive;
function link(scope, element, attrs, ctrl) {
}
AddToCartController.$inject = [];
function AddToCartController() {
var vm = this;
vm.addItem = function (item) {
alert(item);
};
}
}
})();
Не срабатывает
vm.addItem
Пробовал так же добавлять на страницу
<add-to-cart item="item.name" item-click="addItem(item)" ></add-to-cart>
- не срабатывает.
Если же добавить в link, то срабатывает.
$scope в контроллере придется использовать?