vueでは、いくつかのルートページの隠しナビゲーションバーの機能操作を実現します。
ナビゲーションバーを各ページに表示するために、ナビゲーションバーとを同じレベルで表示します。
補足知識:vue+el-menuはルート更新とナビゲーションバーのメニュー状態保持を実現する(ローカル更新ページ)
一、メニュー項目のアクティブ状態保持
プロジェクトではサイドナビゲーションバーを実現し、メニュー項目をクリックすると右の内容が変化します。ページが手動で更新されてからメニューをアクティブにしたいですが、この機能はどうやって実現されますか?
以下の解決方法を示します。
このようなコードを追加すればいいです。
:default-active="this.$route.path"
二、ページのルーティングリフレッシュ(ローカル更新)を実現する。
ルートの更新を実現したいです。公式は解決方法を提供していません。自分で模索し参考にして、以下の解決方法を得ました。
まず、空白のページredirect.vueを新規作成し、次のようなコードを書き込みます。
以上のvueの中で、ある種のルートページの隠しナビゲーションバーの機能操作を実現しました。つまり、小編集は皆さんに提供した内容を全部共有しました。
<header>
...
</header>
<router-view></router-view>
しかし、いくつかの場合、ナビゲーションバーの表示を隠す必要があります。例えば、インターフェースを登録すると、ナビゲーションバーの非表示を実現するために、次のコードが使えます。
<header v-show="$route.name!=='login'">
...
</header>
<router-view></router-view>
これにより、隠しナビゲーションバーが実現されます。補足知識:vue+el-menuはルート更新とナビゲーションバーのメニュー状態保持を実現する(ローカル更新ページ)
一、メニュー項目のアクティブ状態保持
プロジェクトではサイドナビゲーションバーを実現し、メニュー項目をクリックすると右の内容が変化します。ページが手動で更新されてからメニューをアクティブにしたいですが、この機能はどうやって実現されますか?
以下の解決方法を示します。
このようなコードを追加すればいいです。
:default-active="this.$route.path"
二、ページのルーティングリフレッシュ(ローカル更新)を実現する。
ルートの更新を実現したいです。公式は解決方法を提供していません。自分で模索し参考にして、以下の解決方法を得ました。
まず、空白のページredirect.vueを新規作成し、次のようなコードを書き込みます。
<script>
export default {
beforeCreate() {
console.log(this.$route)
const nextPath = this.$route.query.nextPath
this.$router.replace({ path: nextPath})
console.log(" ")
console.log(nextPath)
},
render: function(h) {
return h() // avoid warning message
}
}
</script>
その後、ナビゲーションページに方法を追加します。
//
reloadRouter(path) {
this.$router.replace({
path: "/redirect",
query: {
nextPath: path
}
});
}
各メニューにクリックイベントを追加することで、この機能を実現できます。以上のvueの中で、ある種のルートページの隠しナビゲーションバーの機能操作を実現しました。つまり、小編集は皆さんに提供した内容を全部共有しました。