@microf

Как использовать ng-click в директиве с контроллером?

Всё таки убивают меня директивы. Надо добить понимание.
Делаю так на странице
<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 в контроллере придется использовать?
  • Вопрос задан
  • 272 просмотра
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы