调用指令内定义的函数

时间:2017-02-24 18:12:32

标签: javascript angularjs scope

我正在使用Angular 1.2并在指令中定义了一个函数:

.directive(
'Derp',
function() {
    return {
        restrict: 'C',
        link: function(scope, element, attrs) {
            scope.$parent.sum = function() {
                //something
            }
        })
}
})

我正在从我的主控制器调用该函数,如下所示:

$scope.sum();

但我在浏览器控制台中收到此错误:

TypeError: $scope.sum is not a function

我出错了吗?

1 个答案:

答案 0 :(得分:0)

将其绑定到链接函数中的范围。

只需像ng-click="sum()"

那样访问它
link : function(scope, element, attrs) {
  // Scope Variables
  scope.sum = sum;

  function sum(){
    //something
  }
}