【发布时间】:2021-04-17 20:59:50
【问题描述】:
如何在 AlpineJS 中动态调用另一个方法?在下面的例子中, foo() 应该调用 bar() 来运行它接收到的方法。这不起作用,因为“未捕获的 TypeError:回调不是函数”。
foo(){
bar(this.baz())
},
bar(method){
method()
},
baz(){
return 'success'
}
【问题讨论】:
标签: alpine.js
如何在 AlpineJS 中动态调用另一个方法?在下面的例子中, foo() 应该调用 bar() 来运行它接收到的方法。这不起作用,因为“未捕获的 TypeError:回调不是函数”。
foo(){
bar(this.baz())
},
bar(method){
method()
},
baz(){
return 'success'
}
【问题讨论】:
标签: alpine.js
问题是你没有传递方法,你传递了方法调用的输出,试试
foo(){
bar(this.baz)
},
bar(method){
method()
},
baz(){
return 'success'
}
如果您在baz 中遇到this 问题,您可能需要这样做:
foo(){
bar(this.baz.bind(this))
},
【讨论】: