2017-08-08 6 views
0

ich versuche, die get-Anfrage auf Speicher mit vuex zu setzen und die Ausgabe nicht erscheint, dies ist mein Zustand und Getter-Code auf store.js Datei:Getter auf vuex nicht ausgeben, was es soll

state:{ 
    timelines:[] 

    } 


get_request:{ 
    timeReq: function(){ 
     this.$http.get('https://my-project-demo-71d7a.firebaseio.com/posts.json').then(function(data){ 


      return data.json(); 
     }).then(function(data){ 
      var blogsArray = []; 

      for(let key in data){ 
       data[key].id = key 
       blogsArray.push(data[key]); 

      } 
     state.timelines = blogsArray; 
     }); 

    } 
}, 
getters: { 
    getTimeline: state =>{ 
     return state.timelines; 
    } 

} 

und dies ist mein berechneter Code ausgibt es:

timeReq(){ 
return this.$store.getters.getTimeline; 
} 

so, das Problem ist, es gibt keinen Fehler und nichts davon erschien auf dem Ergebnis

Antwort

0

es ist schwer zu sagen, was los ist aus einem nicht-prüfbaren Code Schnipsel. Ich füge eine link to a fiddle an, mit der du dich herumalbern und sehen kannst, ob du dein Problem dort reproduzieren kannst. Es imitiert einen HTTP-Aufruf.

const store = new Vuex.Store({ 
    state: { 
     message: "loading..." 
    }, 
    getters: { 
     message (state) { 
     return state.message; 
     } 
    }, 
    mutations: { 
     init(state, payload){state.message = payload;} 
    }, 
    actions: { 
     init(context){ 
      setTimeout(
      function(){ 
       context.commit('init', 'message from the server'); 
      }, 3000); 
     } 
    } 
}) 

new Vue({ 
    store, 
    el: '#example', 
    computed: { 
      message: { 
      get() { 
      return this.$store.getters.message 
      } 
     } 
    } 
}) 

store.dispatch("init"); 

HTML

<div id="example"> 
    <span>Message: {{ message }}</span> 
</div> 
<script src="https://cdn.jsdelivr.net/g/[email protected],[email protected]"></script> 
Verwandte Themen