2016-03-29 11 views
1

私はトランジション付きのディレクティブを作成しようとしています。問題は、トランスコードされた部分のスコープがディレクティブのスコープのスコープと異なることです。 私はplnkr上でリンクを試してみました - http://plnkr.co/edit/vDfXs9zyfAngPqmFCiZR?p=preview ディレクティブが隔離されたスコープを持っていて、クリックされたボタンに基づいてタブを切り替えることができるようにします。継承された要素でディレクティブスコープを共有するにはどうすればよいですか?

index.html 
<maple-multistep-form steps="steps"> 
<span>transcluded scope - {{selection}}</span> 
<div ng-switch="" on="selection"> 
    <!-- First Step --> 
    <div ng-switch-when="Step 1: Team Info"> 
    <ng-include src="'step1.html'"></ng-include> 
    </div> 
    <!-- Second Step --> 
    <div ng-switch-when="Step 2: Campaign Info"> 
    <ng-include src="'step2.html'"></ng-include> 
    </div> 
    <!-- Third Step --> 
    <div ng-switch-when="Step 3: Campaign Media"> 
    <ng-include src="'step3.html'"></ng-include> 
    </div> 
</div> 

+0

の内側に私はあなたがより多くのそれの上に手の込んだことができ、あなたが達成したいのか理解していませんか? –

答えて

1

ディレクティブに '選択' を渡して試してみてください。

http://plnkr.co/edit/23QO2UGvKwwXK7PRo2bJ?p=preview

<maple-multistep-form steps="steps" selection="selection"> 

scope: { //comment scope to make the directive have shared scope, this makes the directive work fine 
    steps: '=', 
    selection: '=?' 
}, 
+0

ありがとうございます。これはうまくいった。 スコープ変数は、スコープ変数がディレクティブスコープからスコープ内にあらかじめ定義されている場合にのみ、スコープ変数を認識できないコントローラー内で定義する場合にのみ有効です。 また、 の違いを教えてください。1.選択: '=' 2.選択: '=?' –

+0

はい、スコープが分離されている場合は、スコープ内でスコープを定義して渡す必要があります。 '='は私に提供しなければなりません。そうでなければ、エラーが発生します。 '=?'変数は省略可能で省略可能です。 – tpsilva

+0

ありがとうございました:) ありがとう15文字を書く必要があります...笑:D –

関連する問題