国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue router 組件的高級應用實例代碼

2024-05-06 15:41:00
字體:
來源:轉載
供稿:網友

1 動態設置頁面標題

頁面標題是由 <title></title> 來控制的,因為 SPA 只有一個 HTML,所以當切換到不同的頁面時,標題是不會發生變化的。必須通過 JavaScript 來修改 <title></title> 中的內容:

window.document.title ='xxx'

有一種思路是在每個頁面的 *.vue 的 mounted 鉤子函數中,通過 JavaScript 來修改 <title></title> 中的內容。這種方式固然可行,但如果頁面很多,就會顯著增加維護成本,而且修改邏輯都是一樣的。有沒有更好的方法呢?

我們可以利用 vue-router 組件的導航鉤子 beforeEach 函數,在路由發生變化時,統一設置。

import VueRouter from 'vue-router';...//加載 vue-router 插件Vue.use(VueRouter);/*定義路由匹配表*/const Routers = [{ path: '/index', component: (resolve) => require(['./router/views/index.vue'], resolve), meta: {  title: '首頁' }}, //一次性加載 // { //  path: '/index', //  component: require('./router/views/index.vue') // }, {  path: '/about',  component: (resolve) => require(['./router/views/about.vue'], resolve),  meta: {   title: '關于'  } }, {  path: '/article/:id',  component: (resolve) => require(['./router/views/article.vue'], resolve) } , {//當訪問的頁面不存在時,重定向到首頁  path: '*',  redirect: '/index' }]//路由配置const RouterConfig = { //使用 HTML5 的 History 路由模式 mode: 'history', routes: Routers};//路由實例const router = new VueRouter(RouterConfig);//動態設置頁面標題router.beforeEach((to, from, next) => { window.document.title = to.meta.title; next();})new Vue({ el: '#app', router: router, render: h => h(Hello)})

我們在路由匹配表中,為那些需要標題的頁面,配置了 meta title 屬性:

meta: {  title: 'xxx'}

然后在 beforeEach 導航鉤子函數中,從路由對象中獲取 meta title 屬性,用于標題設置。beforeEach 有三個入參:

參數 說明

    參數 說明
    to
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 钦州市| 克东县| 东安县| 金沙县| 琼结县| 西丰县| 馆陶县| 田林县| 昌平区| 新建县| 广元市| 清镇市| 盈江县| 军事| 青铜峡市| 同江市| 巴林右旗| 新疆| 双牌县| 民丰县| 射阳县| 祁连县| 夏津县| 临猗县| 广昌县| 措勤县| 葫芦岛市| 含山县| 略阳县| 巩义市| 庄浪县| 全南县| 丰镇市| 扎鲁特旗| 洪湖市| 沈丘县| 乌拉特中旗| 隆昌县| 肇源县| 思南县| 疏附县|
      <nobr id="dmmmp"><pre id="dmmmp"></pre></nobr>

                <em id="dmmmp"></em>
              1. <ul id="dmmmp"></ul>
                <small id="dmmmp"><fieldset id="dmmmp"></fieldset></small>
                <thead id="dmmmp"></thead>

                  <sup id="dmmmp"><option id="dmmmp"></option></sup>

                  <sup id="dmmmp"><ruby id="dmmmp"></ruby></sup>