成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

vue 路由基礎(chǔ)

mingde / 3145人閱讀

摘要:路由基礎(chǔ)使用插件處理路由,路由是開發(fā)單頁應(yīng)用必須掌握的知識(shí)。什么是是官方提供前端路由插件,借助它我們實(shí)現(xiàn)可以基于路由和組件的單頁面應(yīng)用。子路由前面不能有。命名路由路由對(duì)象中的屬性是路由的名字,可用該名字指定路徑。

vue 路由基礎(chǔ)

vue 使用 vue-router 插件處理路由,路由是開發(fā)單頁應(yīng)用必須掌握的知識(shí)。

什么是 vue-router?

(1)vue-routerVue 官方提供前端路由插件,借助它我們實(shí)現(xiàn)可以基于路由和組件的單頁面應(yīng)用。

(2)它與傳統(tǒng)的頁面區(qū)別在于:

傳統(tǒng)的頁面應(yīng)用采用的是后端路由,即通過超鏈接來實(shí)現(xiàn)頁面切換和跳轉(zhuǎn)的。

而在 vue-router 單頁面應(yīng)用中,則是通過路徑之間的切換(實(shí)際上就是組件的切換)。

router-link 和 router-view 組件

router-link 是一個(gè)a(鏈接)標(biāo)簽的封裝,router-view 是路由視圖,渲染 router-link 匹配到的組件,可配合使用 使用。

更多詳細(xì)信息

路由配置 動(dòng)態(tài)路由

$route 是當(dāng)前路由,可用 watch在組件中監(jiān)它的變化,有一個(gè) params 屬性,值一個(gè)包含動(dòng)態(tài)路由的對(duì)象。

watch: {
  "$route"(to) {
     console.log(to);
     //將路由的 params 屬性賦值給組件的 data 屬性
     to.params && to.params.view && (this.effect = to.params.view)
    },
}

route 和 router 的區(qū)別

路由對(duì)象為:

{
    path:"/argu/:name",
    // 使用 import 動(dòng)態(tài)引入路徑對(duì)應(yīng)的組件,起到懶加載的作用
    component:()=>import("@/views/ArguPage")
}

可在該路由的組件中這樣獲取name的值:

$route.params.name //給同一個(gè)組件設(shè)置傳遞不同的params,實(shí)現(xiàn)組件的復(fù)用
嵌套路由

在路由對(duì)象中添加一個(gè) children 屬性,值是一個(gè)數(shù)組,可包含多個(gè)子路由。子路由 path 前面不能有 / 。 父級(jí)路由對(duì)應(yīng)的組件必須有路由出口,即 router-view。

命名路由

路由對(duì)象中的 name 屬性是路由的名字,可用該名字指定路徑。
在 router-link 的 to 屬性動(dòng)態(tài)綁定 路由對(duì)象。

命名視圖

route-view 是路由視圖,只有一個(gè)視圖時(shí),路由匹配的組件在該視圖中渲染,多個(gè)視圖則要對(duì)視圖進(jìn)行命名。





路由對(duì)象:

{
    path:"/name/view",
    name:"name_view",
    // 注意命名視圖的 components 和 組件的 component 的區(qū)別
    components:{
        // 不給 router-view 設(shè)置 name 屬性,name 值就是 default
        default:()=>import("@/views/ChildPage"),
        sister:()=>import("@/views/SisterPage"),
        brother:()=>import("@/views/BrotherPage"),
    }
}
JS 操作路由

路由對(duì)象 $router 有多個(gè)函數(shù)push go replace

push 可導(dǎo)航到不同的頁面,會(huì)將該路徑進(jìn)入歷史記錄。
$router.pushwindow.history.pushSate 一樣。
push 可接受不同的參數(shù):

//字符串路徑
this.$router.push("home")

// 路由對(duì)象
this.$router.push({path:"home"})

// 命名路由加參數(shù)
this.$router.push({name:"argu",params:{name:"jack"}})
//  path 路由和 query
this.$router.push({path:"argu",query:{name:"jack"}});
//  path  和 params 不可一起使用,params 會(huì)被忽略
this.$router.push({path:"argu",params:{name:"jack"}});
this.$router.push({name:"argu",query:{name:"jack"}});

go 的參數(shù)是一個(gè)整數(shù),表示回退或者前進(jìn)多少歷史記錄。

// 在瀏覽器記錄中前進(jìn)一步,等同于 history.forward()
$router.go(1)

// 后退一步記錄,等同于 history.back()
$router.go(-1)

// 前進(jìn) 3 步記錄
$router.go(3)

// 如果 history 記錄不夠用,那就默默地失敗唄
$router.go(-100)
$router.go(100)

router.replace(location) = window.history.replaceState
跟 router.push 很像,唯一的不同就是,它不會(huì)向 history 添加新記錄,而是跟它的方法名一樣 —— 替換掉當(dāng)前的 history 記錄

使用場(chǎng)景:不需要用戶回退的情況,比如權(quán)限驗(yàn)證。

// 路由名字
this.$router.replace("name_view");
// 字符串路徑
this.$router.replace("/name/view");
// 路由對(duì)象
this.$router.replace({path:"/name/view"});
// 命名路由帶 params 
this.$router.replace({name:"name_view",params:{age:24}});
// path 和 query
this.$router.replace({path:"name_view",query:{age:24}});
// this.$router.replace({path:"/name/view",params:{age:24}});
重定向和別名
// 路由重定向:訪問 /index ,重定向到 /
{
    path:"/index",
    redirect:"/"
}

redirect 也可設(shè)置一個(gè)對(duì)象:

{
    path:"/index",
    redirect:{
        name:"home"
    }
}

redirect 還可以設(shè)置為一個(gè)函數(shù),傳遞一個(gè)參數(shù) to,可根據(jù)該對(duì)象的不同值,重定向到不同的頁面,返回一個(gè) 命名路由 或者 字符串路徑 。

{
    path:"/index",
    redirect:to=>{
        // do something with to 
        return {
            name:"home"
        }
    }
}

to 是一個(gè)包含路徑參數(shù)的對(duì)象:

{
    name: "index",
    meta: {},// 路由元數(shù)據(jù),可在全局導(dǎo)航守衛(wèi)中獲取該對(duì)象,然后不同頁面設(shè)置不同的值,比如設(shè)置頁面的標(biāo)題
    path: "/index", // 路由路徑 解析為絕對(duì)路徑 /a/b
    hash: "", // 書簽
    query: {}, // 查詢參數(shù) /a?user=jack, $route.query.uer 的值為 jack
    params: {}, //
    fullPath: "/index", // 完整路徑
    matched: [{ // 當(dāng)前路由的所有嵌套路徑片段的路由記錄,路由記錄就是路由的副本。
        path: "/index",
        regex: {
            keys: []
        },
        components: {},
        instances: {},
        name: "index",
        meta: {},
        props: {}
    }],
    redirectedForm:""http:// 重定向來源的名字
}
router.beforeEach((to, from, next) => {
    console.log("①,全局前置守衛(wèi),beforeEach");
    //給每個(gè)頁面設(shè)置不同的標(biāo)題,標(biāo)題就從 meta 中獲取
    //setTitle = (title)=>{
    // window.document.title=title||"admin"
    //}
    to.meta && setTitle(to.meta.title);
    next(()=>{
        console.log("②,全局前置守衛(wèi),beforeEach");
    });
});
路徑別名
{
    name: "home",
    alias:"home_page",// 路徑別名
    path: "/",
    component: Home
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104754.html

相關(guān)文章

  • Vue-router(vue路由基礎(chǔ)詳解)

    摘要:你可以在創(chuàng)建實(shí)例的時(shí)候,在配置中給某個(gè)路由設(shè)置名稱。如果沒有設(shè)置名字,那么默認(rèn)為。 Vue.js路由(Vue-router) 安裝 直接引入 vue-router下載鏈接https://unpkg.com/vue-router/... npm下載 npm install vue-router 如果在一個(gè)模塊化工程中使用它,必須要通過 Vue.use() 明確地安裝路由功能:在你的文...

    JasinYip 評(píng)論0 收藏0
  • vue-router 基礎(chǔ)知識(shí)點(diǎn)

    摘要:路由模塊的本質(zhì)就是建立起和頁面之間的映射關(guān)系。模式的原理是事件監(jiān)測(cè)值變化,可以在對(duì)象上監(jiān)聽這個(gè)事件。這兩個(gè)方法應(yīng)用于瀏覽器記錄棧,在當(dāng)前已有的基礎(chǔ)之上,它們提供了對(duì)歷史記錄修改的功能。 vue-router 這里的路由并不是指我們平時(shí)所說的硬件路由器,這里的路由就是SPA(單頁應(yīng)用)的路徑管理器。再通俗的說,vue-router就是WebApp的鏈接路徑管理系統(tǒng)。vue-router是...

    ningwang 評(píng)論0 收藏0
  • 20190613-Vue Router 基礎(chǔ)(一)

    摘要:那么這個(gè)時(shí)候,我們需要在中,加載配置三個(gè)組件為復(fù)數(shù)。傳遞參數(shù)不需要在中進(jìn)行配置獲取參數(shù)其他的寫法帶查詢參數(shù),下面的結(jié)果為拼到中 什么是 Vue Router? Vue Router是Vue.js的官方路由管理器,可以控制Vue單頁應(yīng)用的路由。 如何快速上手? vue-cli腳手架自帶Vue-Router依賴 新版的vue-cli腳手架中,默認(rèn)default模式?jīng)]有router依賴,請(qǐng)選...

    andong777 評(píng)論0 收藏0
  • vue輕量級(jí)后臺(tái)管理系統(tǒng)基礎(chǔ)模板

    摘要:具體實(shí)現(xiàn)請(qǐng)查看和的退出登陸回調(diào)方法?,F(xiàn)在除了必要的頁面需要在一開始添加到路由表里,其他的頁面都可以根據(jù)后臺(tái)數(shù)據(jù)來自動(dòng)生成。另外,如果在未登陸時(shí)要訪問某一指定頁面,會(huì)重定向到登陸頁,登陸成功后會(huì)自動(dòng)跳到這個(gè)指定頁面。 項(xiàng)目地址 vue-admin-template 在線預(yù)覽 更新 2019.6.25 更新 修復(fù)路由表沖突問題 退出當(dāng)前用戶,換賬號(hào)重新登陸時(shí),上個(gè)賬號(hào)和現(xiàn)在的賬號(hào)路由表會(huì)有...

    2shou 評(píng)論0 收藏0
  • Vue.js 牛刀小試】:第十二章 - 使用 Vue Router 實(shí)現(xiàn) Vue 中的前端路由控制

    摘要:而路由則是使用了中新增的事件和事件??偨Y(jié)這一章主要是介紹了如何使用在中構(gòu)建我們的前端路由。 系列目錄地址 一、基礎(chǔ)知識(shí)概覽 第一章 - 一些基礎(chǔ)概念(posted at 2018-10-31) 第二章 - 常見的指令的使用(posted at 2018-11-01) 第三章 - 事件修飾符的使用(posted at 2018-11-02) 第四章 - 頁面元素樣式的設(shè)定(posted a...

    cpupro 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<