这涉及到:灰烬辛烷值升级如何将值从组件传递到控制器
在../templates/change-password.hbs文件中,我收到以下eslint错误:
请勿
action
用作{{action ...}}。而是使用on
修饰符和fn
助手。无行动
码:
<Clients::ChangePasswordForm @chgpwd={{this.model}} @changePassword={{action 'changePassword'}} @errors={{this.errors}} />
接受的答案指示我使用该语法。我应该以其他方式处理此错误,还是应该忽略该错误?
在Ember Octane中,更新了短绒,以鼓励使用on
修饰剂和fn
辅助剂,而不是action
辅助剂和修饰剂。所述action
改性剂用于结合适当的this
上下文的功能。使用Octane,@action
建议使用装饰器将上下文绑定到任何方法。
在您的情况下,由于将changePassword
as作为关闭操作传递给组件Clients::ChangePasswordForm
,因此将函数传递给组件的推荐方法如下:
<Clients::ChangePasswordForm
@chgpwd={{this.model}}
@changePassword={{this.changePassword}}
@errors={{this.errors}}
/>
如果需要将任何参数(例如this.argument
)与函数一起传递,请使用fn
helper:
<Clients::ChangePasswordForm
@chgpwd={{this.model}}
@changePassword={{fn this.changePassword this.argument}}
@errors={{this.errors}}
/>
由于您已经用@action
decorator标记了动作。你已准备好出发。
这是有关如何从经典事件处理程序升级到Octane建议方式的官方指南
皮棉消息可能会更有用,并且在回购中已经存在一个问题,ember-template-lint
可以在使用经典action
助手时暴露更多有用的错误消息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句