Angularjs:从指令调用控制器函数时访问控制器的范围

时间:2016-11-24 06:40:24

标签: javascript angularjs

我有一个控制器和一个指令。在指令的link函数中,我调用了一个控制器函数。当调用控制器函数时,我想访问控制器函数内部的控制器范围。但是我将$ scope视为未定义。如何访问当前范围。这是小提琴http://jsfiddle.net/9t294ox6/1/

我可以使用“this”关键字访问范围,但$ scope未定义。为什么会这样?

这是我的指示

app.directive('myDirective', function() {
  return {
     scope: { someCtrlFn: '&callbackFn' },
     link: function(scope, element, attrs) {
         scope.someCtrlFn({arg1: 22});
     },
  }
});

我的控制器

function MyCtrl($scope) {
  $scope.ctrlFn = function(test) {
    //Want to access scope here
    debugger
    console.log(test);
  }
}

我的HTML

<div ng-controller="MyCtrl">
<div my-directive callback-fn="ctrlFn(arg1)"></div>
</div>

0 个答案:

没有答案