Javascript 根据变量使ng click调用某个方法

Javascript 根据变量使ng click调用某个方法,javascript,angularjs,Javascript,Angularjs,我有一个ng点击,我需要根据变量调用4个方法中的一个。我在页面上显示某些内容,这取决于我称之为{{vm.class}}的内容,例如可以是单词组。取决于它是否是Group,我想调用方法createGroup()。因此,如果{{vm.class}}等于Project,我希望ng单击调用createProject()。我不确定什么是实现这一目标的最佳方式。这基本上就是我希望发生的事情,尽管我知道这不起作用: data ng click=vm.create{{{vm.class}}}()它将调用crea

我有一个
ng点击
,我需要根据变量调用4个方法中的一个。我在页面上显示某些内容,这取决于我称之为
{{vm.class}}
的内容,例如可以是单词
。取决于它是否是
Group
,我想调用方法
createGroup()
。因此,如果
{{vm.class}}
等于
Project
,我希望
ng单击
调用
createProject()
。我不确定什么是实现这一目标的最佳方式。这基本上就是我希望发生的事情,尽管我知道这不起作用:

data ng click=vm.create{{{vm.class}}}()
它将调用
createGroup()
createProject()

编辑

比如:

datang单击=“创建(vm.class)”

然后:

function create(class){
    switch(class){
    case Group
         createGroup();
    }
    etc....
}

我建议将逻辑保留在控制器中。也就是说,
ngClick
应该调用控制器中的常规函数,该函数将根据其他参数决定调用哪个函数

HTML:

比如:

datang单击=“创建(vm.class)”

如果将
create
方法添加到
$scope

或者稍加修改:

data-ng-click="vm.create(vm.class)"

甚至没有像这样的通用创建函数

data-ng-click="vm['create'+vm.class]()"

哈哈,我忍者编辑同样的东西。好吧,我就是这么想的。我给你一个+酷:)我认为这是最好的方式,我认为
vm['create'+vm.class]()
是一个好主意,但是错误prone@yarons,什么错误?比如当
vm
不包含函数'create'+vm.class?@yarons时,在这种情况下,什么都不做,所以用户不会看到异常或类似的情况
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]()"