2014-06-11 113 views
0

我想给一个函数传入该指令的范围参数使用&一个指令:调用函数返回的功能,而不是调用它

.directive('myDirective', function(){ 
    return { 
    scope: { 
     'fn': '&', 
    }, 
    link: function(scope,el, attrs){ 
     console.log(scope.fn()); 
    } 
    } 
}); 

我然后调用函数link并记录返回值。

在模板我通过这应该只是提醒“OK”进入指令功能:

<div ng-controller="MyController"> 
    <div my-directive fn="myFn"></div> 
</div> 

的代码是在这个Plunkr,但它记录的功能,而不是调用它:

function(){ 
    alert('ok') 
} 

它为什么不调用该函数?

回答

2

&不传递函数到指令中,它传递一个表达式。在这种表达需要调用该函数:

<div my-directive fn="myFn()"></div> 

在做只是myFn角将评估表达,只是返回函数的值。

相关问题