gpt4 book ai didi

javascript - 调用传入 Angular 指令的函数返回该函数而不是调用它

转载 作者:行者123 更新时间:2023-12-02 17:18:40 25 4
gpt4 key购买 nike

我想在指令的作用域参数中使用 & 将函数传递到指令中:

.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')
}

为什么不调用该函数?

最佳答案

& 不会将函数传递到指令中,而是传递一个表达式。在该表达式中,您需要调用该函数:

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

当仅执行 myFn 时,Angular 将计算表达式并仅返回函数的值。

关于javascript - 调用传入 Angular 指令的函数返回该函数而不是调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24171138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com