0

私のindex.htmlに、ファイルを次のように含めます

<script src="vendor/angular-idle.js"></script>

そしてapp.jsで

angular.module('app', [ uirouter,
                        routing,
                        angularResource,
                        localStorage,
                        home,
                        activity,
                        'chart.js',
                        'ngAnimate',
                        'rzModule',
                        'ui.bootstrap',
                        jsonService,
                        otherService,
                        customers,
                        'angularUtils.directives.dirPagination',
                        notifications,
                        'textAngular',
                        'ngSanitize',
                        'MassAutoComplete',
                        material,
                        countrySelect,
                        'ngIdle'
                      ])

そして設定ファイル

.config(function(IdleProvider) {
        IdleProvider.idle(5);
        IdleProvider.timeout(5);
    })
    .run(['Idle', function(Idle){
        // start watching when the app runs. also starts the Keepalive service by default.
        Idle.watch();
    }])
    .controller('ctrl', function($scope) {
        $scope.$on('IdleTimeout', function() {
            let time = new Date();
            console.log('idle timeout at ', time);
        });

        $scope.$on('IdleStart', function() {
            let time = new Date();
            console.log('idle start at ', time);
        });
    })

しかし、ブラウザは常に言う

angular.min.js:117Error: [$injector:unpr] http://errors.angularjs.org/1.5.6/ $injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20ctrl

不明なプロバイダー: tProvider <- t <- ctrl

4

1 に答える 1

0

t$scopeこの場合、「ctrl」コントローラーでの縮小された参照のように見えます。

縮小化を使用している場合は、 Angular の DI 注釈を どこでも使用するようにする必要があります。

.config(['IdleProvider', function(IdleProvider) {
    // ...
}]).controller('ctrl', ['$scope', function($scope) {
    // ...
}])
于 2016-07-27T05:50:11.390 に答える