angularjs
  • angularjs-directive
  • 2014-08-28 2 views 0 likes 
    0

    у меня есть:Нужно ли использовать «=» в области, чтобы передать функцию моей директиве?

    <admin-retrieve-button ctrl="ctrl"> 
    
    app.directive('adminRetrieveButton', ['stateService', function (stateService) { 
        return { 
         scope: { 
          ctrl: '=' 
         }, 
         restrict: 'E', 
         template: "<button ng-click='ctrl.abc()'>Retrieve</button>", 
         link: function (scope, element, attrs) { 
          scope.stateService = stateService; 
          scope.entity = attrs["entity"]; 
         } 
        }; 
    }]); 
    

    Я не уверен, что подразумевается под обязательным, когда речь идет о функции. Нужно ли указывать ctrl: '=' для этой директивы, когда единственное, что происходит, это вызов функции abc(). Также есть ли другие возможности для области, которая позволила бы мне даже не указывать ctrl?

    ответ

    0

    Вы не передаете функцию. Вы передаете объект ctrl, и в этом случае вам понадобится привязка '='. Вы можете связать функцию с областью действия директивы, используя привязку '&'.

    Смежные вопросы