2016-07-17 12 views
0

Ich habe ein Problem mit Vue.Vue-Router-Objekt ist null

Mein Login sieht wie folgt aus:

import Vue from 'vue'; 
import {router} from '../main'; 

export default { 

    user: { 
    authenticated: false, 
    id: 0, 
    name: '', 
    email: '' 
    }, 

    login (context, creds) { 
    Vue.http.post('/api/login', creds) 
     .then(({data: {token}}) => { 
     // Hide the error message in case this time 
     // the creds were valid. 
     context.hideError(); 

     this.setToken(token); 
     this.getUserInfo(token); 

     router.go({ path: '/home' }); 
     }, (error) => { 
     // Show some error message on the invoking vm 
     // telling the user that his/her credentials 
     // are wrong. 
     context.showError(); 
     }); 
    }, 

..... 

Aber aus irgendeinem Grund meine router object ist null. Ich erhalte die Fehlermeldung: Cannot read property 'go' of undefined(…)

ich den Import der Router von main.js

Wo ich den Router wie diese machen:

var router = new Router({ 
    history: true 
}); 

Bitte sagen Sie mir, was ich falsch hier tun!

+0

Sie müssen Ihren Router in main.js exportieren! –

+0

@IsmailRBOUH Danke, dass funktioniert :) – Jamie

+0

Bitte fügen Sie eine Antwort und markieren Sie es als akzeptiert (so dass Menschen mit dem gleichen Problem in der Zukunft in der Lage, es leicht zu erkennen). –

Antwort

2

Ich hatte dies:

var router = new Router({ 
    history: true 
}); 

Statt dessen:

export var router = new Router({ 
    history: true 
}); 

@Ismail RBOUH Danke für die Hilfe.