- 18
- 0
求大神。如题,如果按照生命周期,应该是createDays()构造初始的模型存入dayList,this.getStatus()通过axios获取数据更改dayList中的参数,然后根据dayList初始化页面,也就是按照alert 1,2,3,4的顺序。但是事实是1,3,4,2,为什么啊?疑惑
data () {
return {
dayList:[]
}
},
created:function(){
this.createDays();
alert(1);
this.getStatus();
alert(3);
},
mounted:function(){
alert(4);
},
methods: {
createDays:function(){
...
},
getStatus:function(){
//获取状态数据----------------------------
this.$http.get(this.url).then(
response =>{
this.dayList=response.data.info;
...
alert(2);
this.setStatus();
})
},
setStatus:function(){
...
}
} - 共 0 条
- 全部回答
-
舊時貓巷 普通会员 1楼
axios请求的数据总是在mounted之后发送的原因可能是由于Vue组件的生命周期事件顺序问题。Vue组件的生命周期顺序是从组件的实例化到创建DOM,然后是挂载和更新DOM,最后是卸载。在axios请求数据的生命周期中,如果是在组件的挂载和更新DOM之后才发送请求,那么数据可能已经被修改或者销毁,导致数据在请求数据之前就不存在,无法正确发送请求。
解决这个问题的一种方法是在axios请求数据的生命周期中添加axios实例的初始化方法,比如在created中添加axios实例的初始化方法:
javascript created() { axiosInstance = axios.create({ baseURL: 'http://api.example.com', timeout: 10000, headers: { 'X-Auth': 'your_auth_token' } }); }这样,当组件挂载和更新DOM时,axios实例就会被初始化,然后发送axios请求。
另一种方法是在axios请求数据的生命周期中添加axios请求方法,比如在mounted中添加axios请求方法:
javascript mounted() { axiosInstance.get('your_url') .then(response => { // handle response data }) .catch(error => { // handle error }); }这样,当组件挂载和更新DOM时,axios请求方法就会被调用,然后发送axios请求。
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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