2016-04-26 3 views
1

Ember.ComponentのtagNameプロパティのドキュメントには、「要素が最初に作成されたときにのみタグ名が使用されます。要素のtagNameを変更する場合は、を破棄して再作成する必要があります。ビュー要素。 "Ember.jsコンポーネントのビュー要素を再作成する

どうすればよいですか?ここに私のコードです:

{{#each sortedBricks as |brick|}} 
    {{brick-block brick=brick tagName=brick.tagName}} 
{{/each}} 

brick.tagNameの値が変更された場合、brick-blockコンポーネントのview要素を変更します。あなたはどちらか、この

{{#if falseBool}} 
    {{my-component}} 
{{/if}} 

または新しいルートにナビゲートするようなものを使用して、またはガイドを引用して、ティアダウンをトリガする必要があります 「コンポーネントのティアダウンがでトリガすることができguides を参照

+0

を、それが再レンダリングかもしれませんしたがって、コンポーネントを破壊して再作成します。 @ TameBadgerの '{{component}} 'ヘルパーが好きです。 – locks

答えて

0

異なる条件の数」

私はあなたがおそらく、なぜあなたに手の込んだ以下twiddle

で上記の例を示しこのようなtagNamesを切り替えるには?

は、私はあなたがこのようなものになり、動的にロードするコンポーネントを利用して似たような、達成することができるかもしれないと思う:あなたは「sortedBricks」を変異させる方法に応じて

{{#each blocks as |block|}} 
    {{component block.componentTagname}} 
{{/each}} 
+0

視認性を切り替えることに感謝します。その作品は非常によく –

関連する問題