通常、AngularJS のすべての例/ソース コードでは、スコープの変更はコントローラーで行われます。私のディレクティブでは、別のディレクティブ(またはそのスコープ)からいくつかの情報を取得し、それをスコープに入れる必要があります(ディレクティブのテンプレートに表示されます)。この情報はこのディレクティブのすべてのインスタンスに共通であるため、スコープ バインディングを使用するのは適切ではありません。
したがって、私が見つけた唯一の解決策は、リンク関数でインスタンススコープを変更することです:
link: function(scope, element, attr, parentCtrl) {
scope.data = parentCtrl.someData;
}
このソリューションは機能します。プランクの例
質問: AngularJS の哲学/スタイルに従って、関数のリンクでスコープを変更しても問題ありませんか、それとも別の解決策がありますか?