这与以下方面有关:Ember Octane Upgrade How to pass values from component to controller
在../templates/change-password.hbs文件中,我收到以下eslint错误:
不要使用action
作为{{action...}}。相反,使用on
修饰符和fn
帮助器。no-action
编码:
<Clients::ChangePasswordForm @chgpwd={{this.model}} @changePassword={{action 'changePassword'}} @errors={{this.errors}} />
已接受的答案指示我使用该语法。是否有其他方法可以处理此错误,或者是否应忽略此错误?
1条答案
按热度按时间ccgok5k51#
在Ember Octane中,对触发器进行了更新,以鼓励使用
on
修饰符和fn
帮助器,而不是使用action
帮助器和修饰符。action
修饰符用于将适当的this
上下文绑定到函数。在Octane中,@action
装饰器是将上下文绑定到任何方法的推荐方式。在您的示例中,由于要将
changePassword
作为闭包操作传递给组件Clients::ChangePasswordForm
,因此建议将函数传递给组件的方法如下:如果您需要将任何参数(比如
this.argument
)与函数沿着传递,请使用fn
helper:因为您已经标记了您的操作with
@action
decorator。您可以开始了。下面是official guide关于如何从经典事件处理程序升级到Octane的推荐方法
lint消息可能更有帮助,并且在
ember-template-lint
存储库上已经有一个issue opened,可以在使用经典的action
帮助程序时公开更有用的错误消息。