【问题标题】:getters on vuex not outputting what it shouldvuex 上的吸气剂没有输出它应该输出的内容
【发布时间】:2017-08-08 16:54:15
【问题描述】:

我尝试使用 vuex 将 get 请求放在 store 上,但没有出现输出,这是我在 store.js 文件中的 state 和 getters 代码:

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

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

【问题讨论】:

    标签: javascript vuejs2 vuex


    【解决方案1】:

    很难从不可测试的代码 sn-p 中判断发生了什么。我附上了一个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/vue@2.0.3,vuex@2.0.0"></script>
    

    【讨论】:

      猜你喜欢
      • 2021-06-01
      • 2017-10-11
      • 2022-01-22
      • 2017-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多