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