我是否需要在范围内使用“=”将函数传递给我的指令?

时间:2014-08-28 04:42:13

标签: angularjs angularjs-directive

我有:

<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:&#39; =&#39;对于这个指令,当发生的唯一事情就是调用abc()函数。还有什么其他选项可以让我甚至不需要指定ctrl?

1 个答案:

答案 0 :(得分:0)

你没有传递一个功能。您正在传递ctrl对象,在这种情况下,您需要'='绑定。您可以使用'&'绑定将函数绑定到指令范围。