更新:11-29
时隔半年,又从新使用VUE进行开发,有了新方案——beforeRouteLeavehtml
在组件内直接使用,前提是你用了vue-router
:vue
beforeRouteLeave (to, from, next) { // 导航离开该组件的对应路由时调用 // 能够访问组件实例 `this` }
完.....
ios
点击用户头像 => 进入用户我的中心,在用户我的中内心点击其余用户的头像,我但愿显示被点击用户的我的中心,但只看到了路由参数在发生变化,页面内容并无更新。如图:
vue-router
页面代码以下:axios
<script> export default { data() { return { data: {} } }, methods: { fetchDate() { // 使用 axios获取数据 ...... }, created() { this.fetchDate(); } } </script>
使用 watch,观察路由,一旦发生变化便从新获取数据!fetch
<script> export default { data() { return { data: {} } }, methods: { fetchDate() { // 使用 axios获取数据 ...... }, created() { // 组件建立完后获取数据, // 此时 data 已经被 observed 了 this.fetchDate(); }, watch: { // 若是路由有变化,会再次执行该方法 "$route": "fetchDate" } } </script>