gpt4 book ai didi

javascript - 执行 Angular 函数

转载 作者:行者123 更新时间:2023-11-28 18:18:49 24 4
gpt4 key购买 nike

我有一个像这样的 html 按钮

<md-button type="button"  ng-click="commentDelete(item,$index)" aria-label="change address" >
<md-icon md-svg-icon="img/ic_highlight_remove_24px.svg"></md-icon>
</md-button>

这是我的 Controller

var commentDelete = function(item,index){
console.log('working')
}

$scope.commentDelete =commentDelete;

这可以正常工作,没有任何问题。但如果我尝试这样的事情

var myCtrl= function(item,index){
return {
commentDelete : function(item,index){
console.log('working')
}
}
}

$scope.commentDelete =myCtrl.commentDelete

那么它不会触发commentDelete函数。这是为什么?提前致谢

最佳答案

因为您将 myCtrl 的属性分配给 $scope.commentDelete(myCtrl 是一个函数,它会尝试查找 commentDelete > 在其上或在 Function 中)。myCtrl 只是一个函数,它返回一个具有函数 commentDelete 的对象。

var myCtrl= function(item,index){
return {
commentDelete : function(item,index){
console.log('working')
}
}
}

$scope.commentDelete = myCtrl.commentDelete

如果你调用myCtrl然后获取commentDelete,它就会工作

$scope.commentDelete = myCtrl().commentDelete;

关于javascript - 执行 Angular 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40305487/

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