更新: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>