我有ng-click
我需要根据变量调用4种方法中的一种。我在页面上显示某些内容取决于我调用{{vm.class}}
的内容,例如,可能是单词Group
。取决于它是否Group
我想要调用方法createGroup()
。因此,如果{{vm.class}}
等于Project
,我希望ng-click
致电createProject()
。我不确定实现这一目标的最佳方法是什么。这基本上是我想要发生的事情,虽然我知道这不起作用:
data-ng-click=vm.create{{vm.class}}()
会调用createGroup()
或createProject()
修改:
类似于:
data-ng-click="create(vm.class)"
然后:
function create(class){
switch(class){
case Group
createGroup();
}
etc....
}
答案 0 :(得分:3)
我建议将逻辑保留在控制器中。也就是说,ngClick
应调用控制器中的通用函数,该函数将根据其他参数决定调用哪个函数。
HTML:
<any ng-click="vm.create()"></any>
控制器:
vm.create = function() {
switch(vm.class) {
//logic
}
}
答案 1 :(得分:0)
类似于:
data-ng-click="create(vm.class)"
如果将create
方法添加到$scope
或稍作修改:
data-ng-click="vm.create(vm.class)"
和
vm.create = function create(class){
switch(class){
case Group
createGroup();
}
etc....
}
或者甚至没有像这样的创建函数
data-ng-click="vm['create'+vm.class]()"