2017-08-03 1 views
1

Ich habe eine Frage wie im Titel
Wie zu stoppen, die Komponente in <router-view> zu montieren, bis eine Daten vom Server erhalten oder wie man die Daten vor dem erhalten Bauteil montiert <router-view>Wie bekomme ich Daten vom Server vor der Komponente vue2.0

Meine Dateien:

1. main.js

new Vue({ 
    el: '#app', 
    router, 
    components: { Login, Start }, 
    data: function(){ 
    return{ 
     info: null, 
    } 
    }, 
    methods:{ 
    bef: function(){ 
     this.$http.get('xxx').then(function(response){ 
     return response.body 
     }); 
    } 
    }, 
    beforeMount(){ 
    this.info= this.bef() 
    } 
}) 

zweite Komponente Datei Comp.vue

export default{ 
    name: 'start', 
    data(){ 
     return{ 

     } 
    }, 
    beforeMount(){ 
     console.log(this.$parent.info) 
    } 
} 

Wie man es richtig macht, um nicht null Wert, aber Antwort vom Server zu bekommen?

checkLogged: function() { 
     return new Promise((resolve,reject) => { 
      this.$http.get('xxx').then(response => { 
      if (response.body == 1) { 
       resolve(true); 
      } else { 
       resolve(false); 
      } 
      }, response => { 
      reject('connection failure'); 
      }); 
     }); 
    }, 

und in der 2. Datei:
Danke im Voraus

+0

gelöst mit: neue Versprechen zurückzukehren ((resolve, ablehnen) => { }) ; – Proxr

Antwort

0

mit aufgelösten

this.$root.checkLogged().then((response) => { 
      if(response){ 
       this.logged = true 
      }else{ 
       router.push("/") 
      } 
     }) 
Verwandte Themen