2016-07-18 6 views
1

Ich versuche, Cookies zu verwenden, aber ich bekomme den folgenden Fehler.Ionic/angularjs, wie zu beheben Cookie-Problem des unbekannten Anbieters?

ionic.bundle.js:25642 Error: [$injector:unpr] Unknown provider: UserServiceProvider <- UserService <- AuthenticationService

Ich habe die folgenden:

1) erwähnt dies in meinem index.html

<script src="//code.angularjs.org/1.4.3/angular-cookies.js"></script> 

2) in meinem app.js I ngCookies

angular.module('app', ['ionic', 'app.controllers', 'app.routes', 'app.services', 'app.directives','app.filters','ngSanitize','ngCookies','base64']) 

3 hinzugefügt) Dann habe ich einen neuen Service erstellt, den ich in meinem Index referenziert habe.

<script src="js/authenticationService.js"></script> 

4) I enthalten $ Cookies in meinem authenticationService.js

(function() { 
    'use strict'; 

    angular 
     .module('app') 
     .factory('AuthenticationService', AuthenticationService); 

    AuthenticationService.$inject = ['$http', '$cookieStore', '$rootScope', '$timeout', 'UserService','$cookies']; 
    function AuthenticationService($http, $cookieStore, $rootScope, $timeout, UserService,$cookies) {... 

mir jemand mit dem Fehler kann helfen?

Wenn ich die Winkel Cookies Version 1.2.20 ändern, ich diesen Fehler stattdessen

ionic.bundle.js:25642 TypeError: $browser.addPollFn is not a function at Object. (angular-cookies.js:60)

+0

Das Problem scheint mit UserService zu sein. Können Sie den Code dafür posten? – M22an

+0

@ m22an das ist meine allererste Zeit, eine App zu bauen und im 'Lernen wie ich gehe'. Entschuldige meine dumme Frage, aber kannst du mir sagen, was ein UserService ist? Meintest du die Datei authentication.js, die ich erstellt habe? – noor

+0

In Ihrer authenticationService.js haben Sie diese Zeile 'AuthenticationService. $ Inject = ['$ http', '$ cookieStore', '$ rootScope', '$ timeout', 'UserService', '$ cookies'];'. Dies bedeutet, dass injizierbare Komponenten wie Services/Fabriken/Controller für Angular zur Verfügung stehen sollten, wenn dieser Service initialisiert wird. In diesem Fall sind alle Komponenten außer 'UserService' entweder als Teil von angular.js oder als andere Pakete wie' angular-cookies.js' verfügbar. Können Sie auch eine Definition für UserService.js hinzufügen, dann sollte Ihre App funktionieren. – M22an

Antwort

0

Wie oben in den Kommentaren angegeben. In Ihrer authenticationService.js haben Sie diese Zeile AuthenticationService.$inject = ['$http', '$cookieStore', '$rootScope', '$timeout', 'UserService','$cookies'];. Dies bedeutet, dass injizierbare Komponenten wie Services/Fabriken/Controller für Angular zur Verfügung stehen sollten, wenn dieser Service initialisiert wird. In diesem Fall sind alle anderen Komponenten als UserService entweder als Teil von angular.js oder als andere Pakete wie angular-cookies.js verfügbar.

Können Sie auch eine Definition für UserService.js hinzufügen, dann sollte Ihre App funktionieren.

Verwandte Themen