国产探花免费观看_亚洲丰满少妇自慰呻吟_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>