私は1つの主要なコンポーネントを持っています。このコンポーネントの中で私はWebSocketを使ってサーバーからデータを受け取ります。私はその中に様々なフィールドを持つオブジェクトを受け取ります。たとえば、フィールド数は0から10までです。オブジェクトを受け取るたびに、forEach()
を使用してすべてのフィールドを取得します。各フィールドのために、私はこのように、コンポーネントを初期化する必要があります。角2の複数のコンポーネントを持つwebsocketデータを共有する
self.dcl.loadIntoLocation(StreamComponent, self.elementRef, 'stream');
がすでに存在するオブジェクトの現在のフィールドのためのコンポーネントのコピーが、私は新しい受信データとそれを更新する必要がある場合ビュー内で私の主な問題は、WebSocketから作成されたコンポーネントにデータを渡す方法がわかりません。私はそれを作成して初期化することができますが、データをそれに渡す方法は決して気にしません。何か案は ?
私はこのコードをテストします。 (compRef:ComponentRef)=> { compRef.instance = {name: 'name'}; 'self.dcl.loadIntoLocation(StreamComponent、self.elementRef、 'stream')。 ; }); ' 私はそれをテストする変数' name'をハードコードします。 – Edward
実際には、次のようにしてください: 'self.dcl.loadIntoLocation(StreamComponent、self.elementRef、 'stream')。then((compRef:ComponentRef)=> {compRef.instance.name = 'name'}; console .log(compRef);}); '。それ以外の場合は、コンポーネントインスタンス自体をオーバーライドします... –