lzxb / vuet

允许你定义飙车过程的集中式状态管理模式

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

请教个vuet问题,应该在哪里只调用一次方法,返回回来后不会再次触发

alasai opened this issue · comments

我在vuet中定义了一个模块,用来显示“图片幻灯片”,
运行起来后,第一次是正常的,但是点击其中一张图片进去查看之后,再点击返回,图片幻灯片成倍显示了,代码如下
vuet模块代码如下
modules: {
topic: {
modules: {
slider:{
data () {
return {
list: []
}
},
route: {
once: true // 当前页面,只加载一次,这样我们就可以做上拉加载了
},
async fetch () {
const res = await http.get('News/slides?time='+Math.random())
//alert(res.data);
this.list = [...this.list, ...res.data]
}
}
}
}
}

调用页面代码如下

export default {
mixins: [
mapModules({ data: 'topic-newslist',pic:'topic-slider' }),
mapRules({ route: 'topic-newslist' })
],
mounted(){
this.pic.fetch();
}
}

用了一个很笨的方法来解决
mounted(){
if(this.pic.list.length==0)
{
this.pic.fetch();
}
}
请问除了这个还要其他处理方法吗

commented

这个是由规则来自动加载的,不需要你手动加载