0

これらは、あるディレクティブのコントローラーを別のディレクティブに要求しようとした方法です。

1)http://jsfiddle.net/Xarm2/1/

2)http://jsfiddle.net/82UKq/1/

どちらの場合も、firebugコンソールで、必要なディレクティブのコントローラーがundefinedまたは空のオブジェクトであることがわかります。

1)ディレクティブ内の「d1Cntrl」にアクセスするにはどうすればよいですかd2

2)別のディレクティブでディレクティブコントローラーを要求する必要があるユースケースを教えてください。

4

2 に答える 2

1
  1. ディレクティブからディレクティブへの通信に関するJohnLindquistからのこの気の利いたスクリーンキャストを参照してください

  2. たとえば、2つのカスタム検証を適用する入力要素があり、最初の検証に合格した場合にのみ1つの検証を実行する必要がある場合(たとえば、パターンマッチング検証は、要素に値がある場合にのみアクティブ化する必要があります)。

于 2013-03-03T10:30:27.560 に答える
0

ここに入れたいと思う人はほとんどいません

1)指令は、独自のスコープを作成していません。 <superhero strength>The Hulk</superhero> <superhero flight speed strength>Superman</superhero> <superhero speed>The Flash</superhero>

scope:trueこれらの3つのディレクティブは、明示的にまたは定義scope:{}で述べていない限り、同じスコープを共有します。superhero新しいスコープを作成していない場合は、最後のスーパーヒーローが有効になります。

2)レベルで新しいスコープを作成するsuperheroと、その同じスコープが、な​​どの兄弟ディレクティブによって共有されstrengthますflight

3)別のディレクティブ内にディレクティブコントローラーが必要な場合、thisキーワードを使用してディレクティブコントローラーで定義されたAPIは、requiredディレクティブに公開されます。コントローラスコープで定義されているメソッドは表示されないことに注意してください$scope

文章の作り方やポイントが間違っている場合は、お気軽に編集してください。

于 2013-03-03T19:59:54.860 に答える