AngularJS: Unknown provider: $ idleProvider

Lots of other people have similar problems, but the resolutions don't seem to apply to my specific problem.

I'm trying to use the ngIdle library ( https://github.com/HackedByChinese/ng-idle ) but can't seem to get it to work without this error - Uncaught Error: [$ injector: modulerr] Failed to create myAuditModule module from -for: Error: [$ injector: unpr] Unknown provider: $ idleProvider

Here is my module code,

(function () {
    app = angular.module("myAuditModule", ['ui.bootstrap', 'ngRoute', 'ngCookies', 'ngDragDrop', 'ngIdle']);

    // configure the routes
    app.config(function ($routeProvider, $idleProvider, $keepaliveProvider) {

        $idleProvider.idleDuration(10 * 60); // 10 minutes idle
        $idleProvider.warningDuration(30); // 30 second warning
        $keepaliveProvider.interval(5 * 60); // 5 minute keep-alive ping

        $routeProvider

             //route for the logging in page
            .when('/', {
                templateUrl: 'Views/Login.html',
                controller: 'loginController'
            })

    });

    })();

      

The file is included in my project and it appears in the developer console when starting the site -

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

      

The only dependency is that you need to use angular 1.2 or higher, which is what I am.

Any ideas?

+3


source to share


2 answers


Replace $idleProvider

with IdleProvider

in app.config and try

  app.config(function ($routeProvider, IdleProvider, KeepaliveProvider) {

    IdleProvider.idleDuration(10 * 60); // 10 minutes idle
    IdleProvider.warningDuration(30); // 30 second warning
    KeepaliveProvider.interval(5 * 60); // 5 minute keep-alive ping

    .....
});

      



Also replace $keepaliveProvider

withKeepaliveProvider

+5


source


Try to inject IdleProvider instead of $ idleProvider as for KeepAliveProvider

So your new code should be



(function () {
        app = angular.module("myAuditModule", ['ui.bootstrap', 'ngRoute', 'ngCookies', 'ngDragDrop', 'ngIdle']);

        // configure the routes
        app.config(function ($routeProvider, IdleProvider, KeepaliveProvider) {

            $idleProvider.idleDuration(10 * 60); // 10 minutes idle
            $idleProvider.warningDuration(30); // 30 second warning
            $keepaliveProvider.interval(5 * 60); // 5 minute keep-alive ping

            $routeProvider

                 //route for the logging in page
                .when('/', {
                    templateUrl: 'Views/Login.html',
                    controller: 'loginController'
                })

        });

        })();

      

+1


source







All Articles