Vue--关于点击当前路由,视图无法更新的解决方案

  转自:https://juejin.im/post/593121aa0ce4630057f70d35  

问题的根源: 用户点击当前高亮的路由并不会刷新view,因为vue-router会拦截你的路由,它判断你的url并没有任何变化,所以它不会触发任何钩子或者是view的变化(这是vue设计的一个原则:一切都是从路由出发的)

  现实: 点击当前路由,改变视图是很多开发人员的“硬需求”

  解决方案:

    

clickLink(path) {
  this.$router.push({
    path,
    query: {
      t: +new Date() //保证每次点击路由的query项都是不一样的,确保会重新刷新view
    }
  })
}

  弊端:url 后面有一个很难看的 query 后缀如 xxx.com/article/list?t=1496832345025

posted @ 2017-07-12 15:53  游鱼与渔  阅读(2019)  评论(0编辑  收藏  举报