Vue現在のルーティングをリフレッシュする方法(2)
1293 ワード
これは前に使った方法で、空白のページをジャンプして戻る方法を使っています.現在のルートをリフレッシュすることもできますが、いくつかの欠陥があるVueが現在のルートをリフレッシュする方法です(1)ここでは新しい方法をお勧めします.究極の解決方法でしょう.
更新が必要なページにあります.ページインジェクション
その後、リフレッシュが必要なときに
Vue現在のルーティングをリフレッシュする方法(1)
provide
/inject
の組み合わせで原理を実現する:1つの祖先コンポーネントがそのすべての子孫子孫に依存を注入することを許可し、コンポーネントの階層がどれだけ深くても、上下流関係が成立する時間の中で常に有効である.App.vue
では、reload
メソッドが宣言され、router-view
の表示または非表示を制御し、ページの再ロードを制御する.
export default {
name: 'App',
provide () {
return {
reload: this.reload
}
},
data () {
return {
isRouterAlive: true
}
},
methods: {
reload () {
this.isRouterAlive = false
this.$nextTick(function () {
this.isRouterAlive = true
})
}
}
}
更新が必要なページにあります.ページインジェクション
App.vue
コンポーネント提供(provide
)のreload
依存は、論理完了後(削除または追加...)、直接this.reload()
呼び出しにより、現在のページをリフレッシュすることができる.reload
をアセンブリ内に注入する方法
export default {
inject:['reload'],
data(){
return {
...
}
}
}
その後、リフレッシュが必要なときに
this.reload()
メソッドを呼び出します.Vue現在のルーティングをリフレッシュする方法(1)