2017-12-20 16 views
0

です最近Angularプロジェクトが4から5に更新されましたが、説明できない変更がいくつか見受けられました。角度(5)の入力変数は

私はParentComponentChildComponentです。 ChildComponentは、親からInputObjectを受け取ります。更新前

行動: 私は私のParentComponentInputObject上で何かを変更した場合、これはChildComponentで見ることができます。更新後の

行動: 私は私のParentComponentInputObject上で何かを変更した場合、この変更はChildComponentでは発生しません。

この動作は正しいですか?そうであれば、複数のコンポーネントを同じオブジェクトでどのように動作させるべきですか?

+0

私もAngular 5にアップグレードしましたが、ParentComponentのInputObjectの変更はChildComponentに影響します。 – DerJP

+0

あなたが働いているコードを追加してください –

+0

私はプランナーで作業します – hY8vVpf3tyR57Xib

答えて

0

特定のプロパティの更新が必要な場合、そのオブジェクトは更新されますが、オブジェクト全体を更新している場合(例:var obj = anotherObj)、Angularは変更の検出をトリガーしません。パフォーマンスに

Angular Documentation

ログエントリは、パワープロパティの変更の文字列値として表示されます。しかし、ngOnChangesはhero.nameへの変更をキャッチしません。それは最初は驚くべきことです。 Angularは、入力プロパティの値が変更されたときにのみフックを呼び出します。ヒーロープロパティの値は、ヒーローオブジェクトへの参照です。 Angularは主人公の名前が変わったことに気づかない。ヒーローオブジェクトリファレンスは変更されていませんでしたので、Angularの観点から、レポートを変更する必要はありません!

+0

ng5に固有のものだと思いませんか? – gyc

関連する問題