繁体   English   中英

控制器链接中的AngularJs调用函数

[英]AngularJs calling function in link from controller

我有一个父控制器,我想从控制器的链接中调用一个函数,但是当尝试访问它时,

TypeError: undefined is not a function

我的控制器:

scope.test = function(m)
{
 linkfunction(m);
}

我的指令: ..........链接:function(scope,element,attrs){

 linkfunction = function (n){
  ........somethings........
  }

  ..........
  }

我如何在指令中的链接中调用函数?

1)使用隔离范围

的HTML

<div test-directive callback-fun="testFunction()"></div>

控制器:

$scope.testFunction = function(){
  console.log("test")
}

指示:

.directive('testDirective', function() {
     return {
         scope: {
            callbackFun: '&'
         },
         link: function(scope, element, attrs) 
         {
            scope.callbackFun();
         }
     }
 })

2)不使用隔离范围

HTML:

<div test-directive></div>

控制器:

$scope.testFunction = function(){
  console.log("test")
}

指示:

.directive('testDirective', function() {
     return {
         link: function(scope, element, attrs) 
         {
            scope.testFunction();
         }
     }
 })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM