Ubuntu修改 mysql8 的 root 賬戶密碼
阿新 • • 發佈:2021-01-21
來源於:深入淺出Vue.js
- 為列表渲染設定屬性key
- 在v-if/v-if-else/v-else中使用key
如果一組v-if+v-else的元素型別相同,最好使用屬性key(比如兩個元素) - 路由切換元件不變
使用vue.js時,頁面切換到同一個路由但不同引數的地址時,元件的生命週期鉤子並不會重新觸發
例:
const routes = [ { path: '/detail/:id', name: 'detail', componest: Detail } ]
當路由從/detail/1切換到/detail/2時,元件是不會發生任何變化的。
這是因為vue-router會識別出兩個路由使用的是同一個元件從而進行復用,並不會重新建立元件,
因此元件的生命週期鉤子自然也不會被觸發。
解決這個問題的三個方法:- 路由導航守衛beforeRouteUpdate (最推薦)
只需把每次切換路由時需要執行的邏輯放到beforeRouteUpdate守衛中即可。 - 觀察$route物件的變化
簡單粗暴,但非常浪費效能 - 為router-view元件新增屬性key
- 為所有路由統一新增query
- 使用全域性守衛beforeEach
- 使用函式劫持
- 路由導航守衛beforeRouteUpdate (最推薦)
- 區分Vuex與props的使用邊界
- 避免v-if和v-for一起使用
- 為了過濾一個列表中的專案,比如v-for='user in users' v-if='user.isActive',
請將users替換為一個計算數屬性,比如activeUsers,讓他犯規或呂后的列表 - 為了避免渲染本應該被隱藏的列表。
其它省略...
- 為了過濾一個列表中的專案,比如v-for='user in users' v-if='user.isActive',