8

これが両方の方法で行われるのを見てきました。ディレクティブコントローラーとリンク関数でscope.$watchを作成することの違いは何ですか?

4

2 に答える 2

4

両者の間に実際の違いはありません。実際のところ、$watch式は、同じ $scope を共有するため、最初に定義された場所に関係なく、コントローラーとディレクティブの両方からアクセスできます。そうは言っても、ディレクティブで定義された $watch は、コントローラーで定義されたものとはまったく異なる目的を持っています。

于 2013-10-18T08:36:48.057 に答える
2

私が知る限り違いはありません。リンクで渡されるスコープは次のとおりです。「スコープ - ウォッチを登録するためにディレクティブで使用されるスコープ」

したがって、ディレクティブのコントローラーまたはスコープを明示的に宣言しない場合でも、コンパイルによって返されるリンク関数にウォッチを追加するためのスコープ (ディレクティブがコンパイルされているコンテキストから取得) があります。

于 2013-10-16T04:27:38.750 に答える