Ember组件生命周期钩子方法 - 是否必须调用super?

Emb*_*eak 0 javascript ember.js

在我的项目的某些组件的生命周期挂钩方法没有this._super(...arguments)didReceiveAttrs,didUpdateAttrs,didRender,didInsertElementwillDestroyElement.但我没有遇到任何问题.我应该改为包含还是不包括?

我知道如果我们覆盖init类似的框架类Ember.Component,请务必this._super(...arguments)在我们的init声明中调用!如果我们不这样做,Ember可能没有机会进行重要的设置工作,我们会在您的应用程序中看到奇怪的行为.(参考)

giv*_*nse 5

并不是必须this._super 始终为每个生命周期挂钩调用.但是,有时你需要它,有时你不需要它._super在实际需要时由于缺少调用而导致的错误会导致通常难以发现或调试的错误.因此,建议始终称之为保持安全.如果你打电话给它并且不需要它,它将什么都不做,所以你没有做任何事情.

我想这是一行额外的代码,但它确实没有任何缺点,除了你输入它的5秒钟.

对于相关对话,请参阅: 为组件的生命周期事件弃用Ember.on的用法.