2016-12-07 8 views
0

は、コンポーネントのライフサイクルフックメソッドのいくつかは、そのようなdidReceiveAttrsdidUpdateAttrsdidRenderdidInsertElementwillDestroyElementとしてthis._super(...arguments)を持っていません。 しかし、私は何の問題に直面しなかった。私はそれを含めるかどうかに変えるべきですか?Emberコンポーネントライフサイクルフックメソッド - スーパーを呼び出すことは必須ですか?私のプロジェクトで

Ember.Componentのようなフレームワーククラスのためにinitをオーバーライドする場合は、私たちのinit宣言でthis._super(...arguments)を必ず呼び出してください!そうでない場合、Emberは重要なセットアップ作業を行う機会がないかもしれません。あなたのアプリケーションには奇妙な動作が見られるでしょう。 (ref

+3

の変更をして、それを含め、フックの挙動は、あなたが戻ってそれらを追加する必要があります将来的に変更する必要があります。 –

答えて

5

それはすべての単一のライフサイクルフックのために常にthis._superを呼び出すために必須ではありません。しかし、時にはそれを必要とすることもあります。実際に必要なときに_superコールが不足したために発生するバグは、通常は見つけたりデバッグすることが困難なバグにつながります。したがって、安全を保つために、常にそれを呼び出すことが推奨されます。あなたがそれを呼び、それが必要でないなら、何もしないので、あなたはそれをするために何も失うことはありません。

私はそれがコードの余分な行だと思いますが、5秒間を入力するだけで、欠点はありません。関連する会話の

は、以下を参照してください Deprecate the usage of Ember.on for Component's lifecycle events.

関連する問題