如何在 AlpineJS 中将方法作为参数传递?

How to pass a method as an argument in AlpineJS?

如何在 AlpineJS 中动态调用另一个方法?在下面的示例中,foo() 应该调用 bar() 以 运行 它接收的方法。这不起作用,因为 'Uncaught TypeError: callback is not a function'.

foo(){
  bar(this.baz())
},
bar(method){
  method()
},
baz(){
  return 'success'
}

问题是你没有传递方法,你传递的是方法调用的输出,try

foo(){
  bar(this.baz)
},
bar(method){
  method()
},
baz(){
  return 'success'
}

如果您在 baz 中遇到 this 的问题,您可能需要执行以下操作:

foo(){
  bar(this.baz.bind(this))
},