1

テンプレートの一部として内部ディレクティブを使用するディレクティブがあります。内部ディレクティブで特定のことが発生した場合、親ディレクティブのスコープ内で関数を呼び出したいと思います。scopeディレクティブのプロパティの「&」は、この種のシナリオ用だと思いました。ただし、関数を呼び出そうとすると、親ディレクティブの関数が呼び出されません。ここでjsFiddleを参照してください:http://jsfiddle.net/hdm3Q/

デバッグ時$parentに、内部ディレクティブのスコープが親ディレクティブのスコープと同じではないことがわかりました。scope.$parent.$parent外側のディレクティブのスコープを見つけたのは、それを実行するまではありませんでした。では、なぜこの余分なスコープがここにあるのですか?親スコープで関数を呼び出すにはどうすればよいですか。これらのディレクティブでスコープを分離したいと思います。これに関する助けをいただければ幸いです。

4

1 に答える 1

1

parentFunctionとの間の名前の変換が行われてparent-functionいます。

ディレクティブでは、ハイフンでつないだバージョンの名前を使用する必要があります。このルールは、すべての angular html 属性に適用されます。

<div child parent-function="parentFunction()"></div>

作業フィドル: http://jsfiddle.net/p2dtC/

于 2012-10-25T23:05:03.383 に答える