vue路由的配置

来源:https://www.cnblogs.com/cyundan/archive/2018/09/30/9732622.html
-Advertisement-
Play Games

一、準備工作 1安裝vue-cli npm install vue-cli -g 2檢查是否安裝成功 vue -V(大寫V) 3初始化一個新的項目 vue init webpack vue-demo 進入項目目錄 npm install npm run dev 二、配置路由 1我們可以看到生成的ro ...


 

一、準備工作

1安裝vue-cli  npm install vue-cli -g

 

 

2檢查是否安裝成功 vue -V(大寫V)

 

 

3初始化一個新的項目 vue init  webpack vue-demo

 進入項目目錄 npm install   npm run dev

 

 

 

二、配置路由

1我們可以看到生成的router文件夾下麵有個index.js

首先我們先在components下新建幾個組件,如HelloWorld.vue \ Home.vue    index.js中引入 ,路由配置如下 index.js

 

import Home from '@/components/Home';
Vue.use(Router)

export default new Router({

mode:'history',
  routes: [
    //預設路徑下顯示該路由
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },{
      path: '/home',
      name: 'Home',
      component: Home
    }
  ]
})

註意:在創建的 router 對象中,如果不配置 mode,就會使用預設的 hash 模式,該模式下會將路徑格式化為 #! 開頭。

添加 mode: 'history' 之後將使用 HTML5 history 模式,該模式下沒有 # 首碼,而且可以使用 pushState replaceState 來管理記錄。

 

2App.vue作為一個存放組件的入口容器,其中 <router-view> 是用來渲染通過路由映射過來的組件,當路徑更改時,<router-view> 中的內容也會發生更改

上面已經配置了兩個路由,當打開 http://localhost:8080 或者 http://localhost:8080/home 的時候,就會在 <router-view> 中渲染 home.vue 組件。Home相當於是這個頁面的主界面,其他的頁面都是嵌套在這個頁面裡面的,所以有動態變化的地方都要有<router-view>,如果被嵌入的頁面部分下還有下一級頁面,則需要在一級路由中嵌套二級路由,修改router/index.js

 

 1 routes: [
 2   //預設路徑下顯示該路由
 3   {
 4     path: '/',
 5     name: 'home',
 6     component: Home,
 7     children:[
 8       {path:'/',
 9        component:Login
10       }
11     ]
12   },{
13     path: '/hello',
14     name: 'helloWorld',
15     component: HelloWorld
16   }
17 ]

 

 

在配置的路由後面,添加 children,併在 children 中添加二級路由,就能實現路由嵌套

配置 path 的時候,以 " / " 開頭的嵌套路徑會被當作根路徑,所以子路由的 path 不需要添加 " / "

 

三、使用 <router-link> 映射路由

我們在index頁面裡面加上映射路由,使其進行調轉。

首先我們在login登錄加一個路由跳轉,也稱為編程式導航

this.$router.push(location) 來修改 url,完成跳轉

push 後面可以是對象,也可以是字元串:

// 字元串

this.$router.push('/home/first')


// 對象

this.$router.push({ path: '/home/first' })
 

// 命名的路由

this.$router.push({ name: 'home', params: { userId: wise }})//傳參的形式

  

 

 

然後,進入index頁面後,設置兩個router-link,在編譯之後,<router-link> 會被渲染為 <a> 標簽, to 會被渲染為 href,當 <router-link> 被點擊的時候,url 會發生相應的改變,如果對於所有 ID 各不相同的用戶,都要使用 home 組件來渲染,可以在 index.js 中添加動態參數:

  

這樣 "/home/user01""/home/user02""/home/user03" 等路由,都會映射到 Home 組件

然後還可以使用 $route.params.id 來獲取到對應的 id

跳轉時的傳參:

this.$router.push(`/index/${this.username}`);

路由的參數配置

{
  path:'/index/:id',
  component:index
},

  

跳轉後的參數接收:

created(){
  this.usname = this.$route.params.id;
 }

  

最後,在index.vue中寫好路由跳轉router-link

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld';
import Home from '@/components/Home';
import Login from '@/components/Login';
import index from '@/components/index';
import Register from '@/components/Register';
Vue.use(Router)

export default new Router({
mode:'history',
routes: [
//預設路徑下顯示該路由
{
path: '/',
name: 'home',
component: Home,
children:[
{path:'/',
component:Login
},
{
path:'/index/:id',
component:index
},
{
path:'register',
component:Register
}
]
},{
path: '/hello',
name: 'helloWorld',
component: HelloWorld
}
]
})

  

 

運行後界面如圖:

 

 

 

 

 

 

好了,今天的路由配置與跳轉就講到這裡,下次我們繼續動態路由的配置講解步驟。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在將項目集成到 Jenkins 後,經常會出現不穩定的構建,Jenkins 控制台輸出的錯誤信息為: Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed) 。 經過調查,問 ...
  • 本文分為三部分, 第一部分簡單介紹如何使用Espresso, 第二部分分析如何處理諸如非同步, 依賴註入, 程式結構對UI測試的影響以及提供解決辦法, 第三部分提供源碼以及一些Reference的地址. ...
  • 用Koala實現less的實時編譯 1、下載Koala(Koala可以實現實時編譯) 2、把CSS文件夾(如index.css,index.less)拖到Koala中 3、點擊到需要編譯的index.css,如: 4、點擊Compile即可實現實時編譯。Koala會在底部最小化運行。 less的語法 ...
  • 進來的小伙伴可以先自己思考一下 對於還屬於小白的我來說掃了一眼這些代碼的反應是:“這都是啥?” 但是我也比較喜歡鑽研~ 仔細看了第二眼的反應是:“這回調函數也太回調了吧!” 又看了第三眼差不多也理解了一星半點,寫出解題邏輯的同時也讓自己理解的更深刻一點 答案輸出:1 3 5 6 4 2; 1. 2. ...
  • 涉及知識點:(1)原型的引入(2)構造函數、原型對象和實例對象之間的關係(3)__proto__和prototype的理解 直接舉例:在自定義構造函數創建對象時,因為創建的對象使用的不是同一個方法,所以創建對象越多,就會開闢大量空間造成記憶體浪費。 驗證:在<script>標簽中寫如下代碼,瀏覽器中打 ...
  • 前端工程化 背景 前端工程化的概念近兩年來被廣泛的提及,究其原因,是前端工程師所負責的客戶端功能邏輯在不斷複雜化。PC網站、手機應用、桌面應用、微信小程式,前端開發的應用領域越來越廣,前端工程師這個職位也不再是幾年前被戲稱的“切圖仔”,在這種背景下,前端工程化應運而生。 聊到前端工程化,必然會有一些 ...
  • jQuery DataTable 刪除數據後重新載入 問題描述: 利用jQuery Datatable和artTemplate組合來做的表格。但是當刪除數據時,需要重新載入table里的數據。但是問題是datatable並沒有直接的重新渲染,反而給數據累加上了。 解決辦法: 經過查看高人的blog, ...
  • iframe這個標簽之前瞭解過這個東西,知道它可以引入外來的網頁,但是實際開發中沒有用到過。這一次有一個需求是說準備要在網頁中嵌套另外一個網站,用iframe這個標簽,讓我測試一下這個可不可以在自己的網頁中對引入進來的iframe框架進行操作,操作dom和css的一些東西。讓我做出一個小案例看看可不 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...