Vue 刚入组件 的加载所以页面的接口,然后5分钟刷新一次接口,怎么实现呢?

因为我们现在做的移动端的项目最终是要套在app的壳子里面的,每个组件的axios请求我都是放在created里面的,进入组件发送请求,拿到数据

clipboard.png

clipboard.png

现在的需求是刚登陆的时候直接所有组件发送请求拿到数据,而不是进入组件才发请求获取数据,
这个有什么好的方法吗? 或者不进入组件触发组件里面的方法?

阅读 2.5k
1 个回答

不进入组件可以放在beforeRouteEnter钩子中请求,或者你在mainJS中请求完成以后在init,建议用第一种,因为你所有请求都放在mainJS中会有点乱。

import axios from 'axios'

beforeRouteEnter(to, from, next) {
  axios.get().then(function (res) {
    // 这里res自己处理下
    next(vm => {
      vm.username = res.data.data.username
      vm.age = res.data.data.age
    })
  })
},
data () {
  return {
    username: '',
    age: ''
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题