2016-07-20 5 views
-2

こんにちは、私はangular2を学ぼうとしているので、エラーが発生しました。親コンポーネント内の子コンポーネントを置き換えることに決めました。子コンポーネントAとBの両方が、組み込みのngSwitchを使用してお互いを置き換えます。しかし、私は子コンポーネントAと子コンポーネントBの両方へのネイティブプロパティバインディングではなく、それについて不平を言ってエラーが発生しました。両方の子コンポーネントにプロパティをバインドできないようです。しかし、私は下に動作するソリューションを見つけたが、なぜ後者の作品を理解していない。私はangular2からのチュートリアルに従った。誰かが最初の失敗したソリューションと2番目のソリューションが提供された理由を説明できますか?ありがとう。親のangular2のNgSwitchの理解

parent.html

<div class= "col-md-4" [ngSwitch]="componentNumber"> 
    <child-componentA *ngSwitchCase="1"> </child-componentA> 
    <child-componentB *ngSwitchCase="2"> </child-componentB> 
</div> 

component.tsファイル:

import {Component} from '@angular/core'; 
//metadata tags defined but didn't need to include 

export class Parent { 

    componentNumber: number = 1; 

    ChangeComponent(value: number) { 
     this.componentNumber = value; 
    } 
} 

以下のコードは、私の問題を解決しますが、私は以下のように上記の前のコードが失敗した理由私は理解して失敗していますanuglar docsの例

次のコードを使用して解決した問題:

<div class="col-md-4" [ngSwitch]="componentNumber"> 
    <template> 
     <child-componentA [ngSwitchWhen]="1"></child-componentA> 
    </template> 
    <template> 
     <child-componentB [ngSwitchWhen]="2"></child-componentB> 
    </template> 
    </div> 
+0

だからあなたの質問は、なぜ間違った構文は動作しませんでした使用しているNgSwitchため、このマニュアルを確認?私は '* ngSwitch'がどのように働いていたのか分かりません。 https://angular.io/docs/ts/latest/api/common/index/NgSwitch-directive.html – rinukkusu

+0

@rinukkuuはngSwitchCaseを意味して申し訳ありませんでしたが、動作しませんでした – user3497437

+0

@rinukkusu * ngSwitchCaseは私が使用したときに動作しませんでした – user3497437

答えて

0

最新RC4のバージョンを使用している場合は、

+0

* ngSwitchCaseが機能しませんでした – user3497437

関連する問題