ember.js 在EmberJS中使用带有装饰器的观察器

mw3dktmi  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(192)

我尝试使用带有装饰器语法的观察器,但似乎不起作用。
不使用装饰器:

onRouteChange: observer('router.currentRouteName', function () {
  this.closeModal();
}),

使用装饰器尝试此操作(失败):

@observer('router.currentRouteName')
handler() {
  this.closeModal();
}

错误消息:
Assert失败:必须为观察者提供函数或观察者定义
我可能遗漏了一些东西,但是我在文档中没有找到任何关于装饰器和观察器的东西。

9w11ddsr

9w11ddsr1#

Ember没有提供observer的装饰器版本的开箱即用。
如果您的用例没有一个您满意的迁移路径,您可以使用ember-decorator中的observer decorator。
请务必阅读quickstart,因为它包含ember install ember-decorators以外的一些信息。

相关问题