実行例:
http://jsbin.com/secuz/5/edit?html,js,出力
詳細
上記の失敗は、Angular ディレクティブが処理される順序に関する私の仮定と矛盾しています。外側のディレクティブが最初に実行され、次に実行が内側に伝播することが期待されます。
ng-if
この評価の乱れはよりも優先度が高いためと考えてng-show
よろしいでしょうか? もしそうなら、2 つのディレクティブが同じ要素にある場合にのみ、優先順位を考慮すべきではないでしょうか?
主な質問
実行が常に外部から実行されるようにするにはどうすればよいですか? 使用するすべてのディレクティブに同じ優先度を与える必要がありますか?
編集:
2 つの追加シナリオを試しました:
- 両方が
ng-if
s の場合、予想どおり、伝播は外側から内側に発生します。
[[ '1 if', true ], [ '2 if', true ], [ '1 if', true ], [ '2 if', true ]]
- ただし、2 つ
ng-show
の s は直感に反する動作を示します。
[[ '2 show', true ], [ '1 show', true ], [ '2 show', true ], [ '1 show', true ]]