搜索

首页  >  问答  >  正文

javascript - vue2.x使用vuex的时候,什么时候对state数据进行请求(或者说初始化)呢?

请问向后台请求数据大家一般是在入口处,还是相应的component,感觉如果是在入口处请求,一次的请求量会比较大,但是如果是在component请求感觉有点重复请求的意思。

高洛峰高洛峰2739 天前407

全部回复(1)我来回复

  • 迷茫

    迷茫2017-05-19 10:37:08

    请求数据一般是在特定的情况下。
    例如,当首次进入需要加载数据列表,那么就应该在created或者mounted里面调用。

    import { mapActions } from ’vuex‘
    export default {
        methods: mapActions([’loadList‘]),
        mounted() {
            this.loadList() // 加载列表数据
        }
    }

    但是,当查询的时候,或者过滤列表的时候,又需要在按钮或者组件触发的事件里面去调用

    <template>
        <p>
            <s-button @click='loadList'>搜索</s-button>
            <ul>
                <li v-for="item in list">{{ item.title }}</li>
            </li>
        </p>
    </template>
    
    import { mapActions } from ’vuex‘
    import sButton from 'search-btn.vue'
    
    export default {
        methods:{
            ...mapActions([’loadList‘]),
            search(keyword){ // 查询过滤列表数据
                this.loadList({keyword: keyword})
            }
        },
        mounted() {
            this.loadList() // 首次载入列表数据
        },
        components:{ sButton }
    }

    回复
    0
  • 取消回复