カスタム angular ディレクティブに問題があります。基本的に、以下の例では、変数「name」は、ディレクティブの範囲外の場合は正しくレンダリングされますが、ディレクティブの内側の場合は正しくレンダリングされません。
テンプレート:
<div ng-controller="swygController">
<div swyg="example" edit="load(id)">
{{name}}
</div>
{{name}
</div>
指令:
swyg.directive('swyg', function(){
return {
restrict: 'A',
scope: {
edit: '&'
},
compile: function(elm, attr){
// Code
},
controller: function($scope, $element, $attrs) {
// Code
}
};
});
これを空のコンパイルおよびコントローラー ディレクティブ関数でテストし (問題の原因となっているディレクティブ内の何かを除外するため)、同じ結果を得ました。
範囲の問題だと確信していますが、解決方法がわかりません。ディレクティブがコントローラーのスコープを継承できるようにする必要があるようです。ディレクティブはコントローラー内にあるので、問題ないと思いました。
他の誰かがこれに遭遇しましたか?
ご協力いただきありがとうございます!