このelasticuiベースのディレクティブ内からrootScope変数にアクセスする方法を100万回試しましたが、運はありませんでした。$rootScope が実際にその親コントローラーに渡されていることを念頭に置いて、ディレクティブを次に示します。
var elasticui;
(function (elasticui) {
var directives;
(function (directives, rootScope) {
var IndexDirective = (function () {
function IndexDirective() {
var directive = {};
directive.restrict = 'EAC';
directive.controller = elasticui.controllers.IndexController;
directive.link = function (scope, element, attrs, indexCtrl, rootScope) {
console.log("Updated Index: " + $rootScope.esIndex);
indexCtrl.indexVM.index = scope.$eval(attrs.euiIndex);
};
return directive;
}
return IndexDirective;
})();
directives.IndexDirective = IndexDirective;
directives.directives.directive('euiIndex', IndexDirective);
})(directives = elasticui.directives || (elasticui.directives = {}));
})(elasticui || (elasticui = {}));
他の場所では、$rootScope.esIndex を参照したいインデックスに設定していますが、「$rootScope が定義されていません」というメッセージが表示されます。ディレクティブのスコープ プロパティを false に設定し、リンク関数の戻り値の一部として $rootScope.esIndex にウォッチャーを設定しようとしましたが、何をしてもわかりません。
私にとっての問題の一部は、この構造が、新しい角度のある人が消化するための指示的な観点から少しわかりにくいことだと思います. これは、はるかに大きな一連のディレクティブ定義のブロックであるため、把握するのは困難です。
ここで $rootScope を簡単に取得する方法はありますか?
事前にトンをありがとう!