私は、このelasticuiベースの指示文からrootScope変数にアクセスするために何百万もの方法を試みました。 $ rootScopeが本当に親コントローラに渡されていることに注意してください。指示文で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が定義されていない」そうだインデックスに$ rootScope.esIndexを設定しています。私はディレクティブのスコーププロパティをfalseに設定しようとしましたが、$ rootScope.esIndexのウォッチャーをリンク関数の戻り値の一部として設定しようとしましたが、何をしてもわかりません。
私の問題の一部は、この構造は、より新しい角度の人を消化するための指示の観点からやや暗黙のものだと思います。これははるかに大きなディレクティブ定義のブロックなので、把握するのは難しいです。
どのように私はここで簡単に$ rootScopeをつかむことができます任意のアイデア?
ありがとうございました!
もっと多くのコードをここではっきりと提供するべきですが、最初の一見で '$ rootScope'ではなく' rootScope'を関数に渡しています。それが問題の一部になる可能性があります。 –