2017-05-19 1 views
1

Injecter un service dans un utilitaire Ember-cli ?? J'ai un utilitaire Ember qui effectue un appel ajax en utilisant Ember. $ .ajax. Mais lorsque je reçois une réponse non autorisée du serveur, je veux invalider la session. Pour cela, j'ai besoin d'accéder au service Session auquel je n'ai pas accès dans l'utilitaire.Injecter un service dans un utilitaire Ember

Dans le lien suivant, il indique comment utiliser util intérieur service non service à l'intérieur util https://guides.emberjs.com/v2.12.0/tutorial/service/

+0

Référez cette réponse http://stackoverflow.com/a/34971940/5771666 il a une excellente explication. essayez-le et postez votre tentative avec erreur. – kumkanillam

Répondre

1
  1. Ajouter une application Ember à portée de fenêtre à l'aide initialiseur:

    a) Générer initialiseur à l'aide Ember CLI :

     
    ember generate initializer global-app 
    

    b) Dans généré initialiseur:

     
    
    export function initialize(application) { 
        window.AppContainer = application; 
    } 
    
    export default { 
        name: 'global-app', 
        initialize 
    }; 
    
    
  2. Ensuite, vous pouvez trouver votre service AppContainer de méthodes utils:

 

    const session = window.AppContainer.lookup('service:session'); 
    session.invalidate(); 

+0

Mon utilisateur Ember est une fonction. Je reçois erreur suivante - Uncaught TypeError: Impossible de lire la propriété 'lookup' de –

+0

@LakhanBaheti, quelle version de Ember utilisez-vous? –

+0

Actuellement en utilisant 2.8 mais en le planifiant pour mettre à jour 2.14 –