- 15
- 0
我想通过vuex来实现上拉加载更多时没有更多数据的提示,但不知数据处理应该怎么写,目前获取数据是用下面的代码实现的
store/moduleA.js:
const state = {
lists:[],
nomore:false //是否有数据
};
const mutations = {
GetList(state,res) {
state.lists = state.lists.concat(res);
}
NoMore(state,res) {
state.nomore = res;
}
};
const actions = {
async getList({commit},page) {
await axios.get("url?p="+page).then(function (response) {
let res = response.data; //如果获取不到更多数据,应该怎么处理才能通知到vue组件?
if(res.length > 0) {
commit('NoMore',false);
commit('GetList',res);
} else {
commit('NoMore',true);
}
});
}
};
在组件里通过dispatch获取新数据page.vue:
data() {
return {
nomore:false
}
},
watch:{
isNoMore(val) {
this.nomore = val;
}
},
computed:{
...mapState({
isNoMore:state => state.nomore
})
},
this.$store.dispatch('getList',page).then(function () {
if(this.nomore) {
console.log('没有更多数据了')
} else {
//do something
}
});
如果用普通的写法,可以通过服务器返回的信息来判断,但vue是基于数据的,思路上有些不同,上面的代码虽然能够实现功能,但总感觉不是很专业,请问有没有更好的方案实现没有更多数据?
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
