vue的后台框架iview admin的路由切换不请求接口的问题,请教各位

良工心苦
  • 89

官网地址是这个 http://admin.iviewui.com/
我在本地第一次访问http://localhost:8080/setting/company,抓取接口请求,
接着打开第二个页面,第三个页面......
这时切换到http://localhost:8080/setting/company这个页面,还是旧数据,没有任何网络请求,
我是这么写的,没执行,照理路由切换应该执行啊,这怎么回事?

mounted () {
      var that=this;
    this.$http.request({
                    url: this.$httpApi.companylist,
                    data:{
                        uid:     this.$store.state.user.userId,
                        token:this.$store.state.user.token
                    },
                    method: 'post'
                  }).then(res=>{
                      that.tableData = res.data.data;
                  })
  }
回复
阅读 1.5k
3 个回答
✓ 已被采纳

是不是多标签页的系统?如果是单页面的话基本上可能是因为使用keep-alive。如果是多标签页的话,很明显第一次打开后组件已经初始化完成并处在生命周期当中,再次进来是不会再触发 mounted 钩子函数的,你可以把方法挂在 vue-router 的几个钩子里执行或者观察路由的变化,可参照Vue router这篇文档

检查有没有keep-alive缓存了组件
检查第二/三个页面是否是第一个页面的子页面

首先看一下 this.$http.request()是否执行,用console.log()调试一下。

你知道吗?

宣传栏