我有一个组件内部的函数名列表,并且根据某些条件,必须从同一个地方调用不同的函数。
我无法在我的模板中创建动态函数,因此我创建了一个函数'callMethod(name)'来执行eval。 eval WORKS,即它调用我的组件中的方法,然后在父组件中调用方法。 但是,我得到一个控制台错误enter code here TypeError:this.myFunctionName(...)不是一个函数
虽然一切正常,但我不希望这些错误进入我的控制台。
如果我注释掉eval语句,并显式地输出方法,那么它也会运行,但没有错误。
如果
callMethod(name) {
eval('this.' + name + '()');
//this.clickShowDeleteAcceptForm()
console.log('did I get here?')
},
使用name ='clickShowDeleteAcceptForm'调用然后我得到它处理错误,如解释。 控制台输出不会发生。
callMethod(name) {
//eval('this.' + name + '()');
this.clickShowDeleteAcceptForm();
console.log('did I get here?')
},
如果我这称呼(显然'名称'变量是无关紧要的)那么它没有错误! 控制台输出确实发生。
[Vue w