Javascript 有没有办法更改单击事件的函数名?

Javascript 有没有办法更改单击事件的函数名?,javascript,vue.js,Javascript,Vue.js,我需要更改v-on中的方法名称:click=“function1”, 但当我在html中硬编码function1时,按钮起作用,function1执行,但当我通过Vue的数据属性传递“function1”属性时,按钮不起作用,function1不执行。请帮帮我。谢谢 button type="button" v-on:click="obj.continueButton" class="btn">Continue</butto

我需要更改v-on中的方法名称:click=“function1”, 但当我在html中硬编码function1时,按钮起作用,function1执行,但当我通过Vue的数据属性传递“function1”属性时,按钮不起作用,function1不执行。请帮帮我。谢谢

button type="button" v-on:click="obj.continueButton" class="btn">Continue</button>

var test = new Vue({
el: "#app",
data: {
    obj : { 
            continueButton: 'function1'
    }
button type=“button”v-on:click=“obj.continueButton”class=“btn”>继续
var测试=新的Vue({
el:“应用程序”,
数据:{
obj:{
继续按钮:“功能1”
}
(编辑了一个不正确的早期答案)

您可以这样尝试:

<button type="button" v-on:click="execFn(obj.continueButton)" class="btn">
  Continue
</button>

...
data: {
  obj: {
    continueButton: 'function1'
  }
},
methods: {
  execFn(name) {
    this[name]();
  },
  function1() {
    // do something
  },
  function2() {
    // do something else
  }
}

继续
...
数据:{
obj:{
继续按钮:“功能1”
}
},
方法:{
行政长官(姓名){
这个[名字]();
},
职能1(){
//做点什么
},
职能2(){
//做点别的
}
}

您可能做错了。使用此代码需要实现什么?我希望能够使用此代码在某处更改按钮的功能this.obj.continueButton='secondFunc';单击按钮后控制台中是否显示任何错误?[Vue warn]:v-on处理程序中的错误:“TypeError:handler.apply不是函数”(位于)warn@vue.js:634 logError@vue.js:1893 globalHandleError@vue.js:1888 handleError@vue.js:1848 invokeWithErrorHandling@vue.js:1871 invoker@vue.js:2184 original._wrapper@vue.js:7547 vue.js:1897 TypeError:handler.apply不是invokeWithErrorHandling的函数(vue.js:1863)位于HTMLButtonElement.invoker(vue.js:2184)的HTMLButtonElement.original._包装器(vue.js:7547)出现这种情况的原因是
obj.continueButton
具有字符串值而不是函数。不清楚,我没有得到它,那么函数2呢?我扩展了我的示例,以显示您可以定义任意数量的函数,即使您更改
obj.continueButton
的值,它也应该正确执行。没问题,对不起,一开始我不够清楚:)