2017-08-08 60 views
0

我试图把GET请求上存储与vuex和输出没有出现,这是对store.js文件我的状态和getter代码:干将不输出自己应该

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; 
    } 

} 

这是我计算出的代码将其输出:

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

所以,问题是有没有错误,没有它出现在结果

回答

0

这很难说什么是从非可测试的代码怎么回事片段。我附上了一张link to a fiddle,你可以看看你是否可以在那里重现你的问题。它模仿一个HTTP调用。

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>