-1
私はJohn Papa's Angular 1 conventionsに従っていますが、リンク機能で$parse
という角度サービスを使用する必要があるカスタムディレクティブを実装しようとしていますが、サービスが利用できないようです。ディレクティブリンク関数内でAngularJSサービスが未定義
uiSalesTotalDashboard
関数が呼び出されると、サービスは利用可能ですが、リンク関数が呼び出されるとサービスは未定義のようですか?
(function() {
'use strict';
module.exports = uiDirectives.directive('uiSalesTotalDashboard', uiSalesTotalDashboard);
uiSalesTotalDashboard.$inject = ['$parse'];
function uiSalesTotalDashboard($parse) {
// $parse is available
var directive = {
scope: {
salesPeriods: '@',
translations: '@'
},
link: link,
restrict: 'E',
templateUrl: '/Scripts/app/shared/ui/templates/sales-total-dashboard.html'
};
return directive;
function link(scope, element, attrs) {
// $parse is undefined
}
}
})();
私は間違っていますか?ありがとう。
あなたはそれを再現するフィドルを作成してもらえますか? – lin
変数はあるポイントでは定義できず、別のポイントでは未定義です。それがあなたの理由だと思いますか?あなたがデバッガでそれを検査した場合、後者はそれを間違っていました。 – estus
@estusそれは間違ったデータを示したのは確かにデバッガでした。リンク関数内で$ parseサービスを使用しなかった場合、chromeデバッガは$ parseサービスが未定義であることを示します。しかし、リンク関数の中で$ parseを宣言すれば、クロムデバッガはそれを正しく示しました。これはクロムデバッガのバグでなければなりません。ありがとう! – Thunder