В Ember Octane обновлены линтеры, чтобы поощрять использование модификатора on
и помощника fn
вместо action
помощника и модификатора. Модификатор action
используется для привязки правильного контекста this
к функции. В Octane @action
декораторы являются рекомендуемым способом привязки контекста к любому методу.
В вашем случае, поскольку вы передаете changePassword
как закрывающее действие компоненту 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
декоратор . Вы хороши для go.
Вот официальное руководство о том, как обновить обработчики событий classi c до октанового рекомендованного способа
Сообщение lint может быть более полезным, и оно уже проблема открыта в ember-template-lint
репо, чтобы предоставить более полезное сообщение об ошибке при использовании помощника classi c action
.