国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

vue-route路由管理的安裝與配置方法

發(fā)布時(shí)間:2021-08-17 12:16 來(lái)源: 閱讀:0 作者:Silent丿丶黑羽 欄目: JavaScript 歡迎投稿:712375056

介紹

Vue RouterVue.js官方的路由管理器。它和 Vue.js 的核心深度集成,讓構建單頁(yè)面應用變得易如反掌。包含的功能有:

  • 嵌套的路由/視圖表
  • 模塊化的、基于組件的路由配置
  • 路由參數、查詢(xún)、通配符
  • 基于 Vue.js 過(guò)渡系統的視圖過(guò)渡效果
  • 細粒度的導航控制
  • 帶有自動(dòng)激活的 CSS class 的鏈接
  • HTML5 歷史模式或 hash 模式,在 IE9 中自動(dòng)降級
  • 自定義的滾動(dòng)條行為

安裝

安裝命令

npm install vue-router --save

如果在一個(gè)模塊化工程中使用它,必須要通過(guò) Vue.use() 明確地安裝路由功能:

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

模塊化使用

之前我們使用腳手架vue-cli創(chuàng )建項目時(shí),實(shí)際已經(jīng)配置好了router,創(chuàng )建完項目后,在項目根目錄下會(huì )有一個(gè)router文件夾,router下有一個(gè)index.js文件,內容如下:

import Vue from "vue";
import VueRouter from "vue-router";
import Home from "../views/Home.vue";

// 1. 當我們使用其他插件的時(shí)候,就必須使用Vue.use安裝插件
Vue.use(VueRouter);

// 2. 定義路由,每個(gè)路由應該映射一個(gè)組件
const routes = [
  {
    path: "/",
    name: "Home",
    component: Home,
  },
  {
    path: "/about",
    name: "About",
    component: About
  },
];

// 3. 創(chuàng  )建router實(shí)例
const router = new VueRouter({
  // 配置路由和組件之間的應用關(guān)系
  routes,  // (縮寫(xiě)) 相當于 routes: routes
});

// 4. 導出router對象,然后在main.js中引用
export default router;

這個(gè)文件是專(zhuān)門(mén)配置路由的,最后將router對象導出后,我們在項目的main.js中引用即可

import Vue from "vue";
import App from "./App.vue";
import router from "./router";

Vue.config.productionTip = false;

new Vue({
  router,  // 在vue實(shí)例中添加router對象,就可以使用路由了
  render: (h) => h(App),
}).$mount("#app");

我們的2個(gè)組件代碼AboutHome代碼如下:

// About.vue
<template>
  <div class="about">
    <h1>About</h1>
  </div>
</template>

<script>
export default {
  name: "About"
}
</script>

<style scoped>
</style>

// Home.vue
<template>
  <div class="home">
    <h1>Home</h1>
  </div>
</template>

<script>

export default {
  name: "Home",
};
</script>

<style scoped>
</style>

最后我們在App.vue中,寫(xiě)入如下代碼:

template>
  <div id="app">
    <router-link to="/">首頁(yè)</router-link>
    <router-link to="/about">關(guān)于</router-link>
    <router-view></router-view>
  </div>
</template>

<style lang="scss">
</style>

使用<router-link>來(lái)加載鏈接,然后使用to表示跳轉的鏈接。最終會(huì )把<router-link>渲染成<a>標簽。
<router-view>是路由的出口,也就是相應url下的代碼會(huì )被渲染到這個(gè)地方來(lái)。

HTML5 history模式

但是當我們啟動(dòng)程序,訪(fǎng)問(wèn)頁(yè)面的時(shí)候,url地址上會(huì )出現#

這是因為vue-router 默認 hash 模式 —— 使用 URLhash 來(lái)模擬一個(gè)完整的 URL,于是當 URL 改變時(shí),頁(yè)面不會(huì )重新加載。
如果不想要很丑的 hash,我們可以用路由的 history 模式,這種模式充分利用 history.pushState API 來(lái)完成 URL 跳轉而無(wú)須重新加載頁(yè)面。

const router = new VueRouter({
  mode: 'history',
  routes: [...]
})

我們只需在router文件夾下的index.js中添加modehistory即可,之后重新訪(fǎng)問(wèn),http://localhost:8080/就不會(huì )有#號了

注意:history模式還需要后臺配置支持。因為我們的應用是個(gè)單頁(yè)客戶(hù)端應用,如果后臺沒(méi)有正確的配置,當用戶(hù)在瀏覽器直接訪(fǎng)問(wèn)其他url地址就會(huì )返回 404,這就不好看了。

所以呢,你要在服務(wù)端增加一個(gè)覆蓋所有情況的候選資源:如果 URL 匹配不到任何靜態(tài)資源,則應該返回同一個(gè) index.html 頁(yè)面,這個(gè)頁(yè)面就是你 app 依賴(lài)的頁(yè)面。

到此這篇關(guān)于vue-route路由管理的安裝與配置 的文章就介紹到這了,更多相關(guān)vue route安裝與配置 內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

久久人搡人人玩人妻精品| 老师穿着旗袍肉色丝袜让我玩| 人妻无码αv中文字幕久久| 在阳台上玩弄人妻的乳球| 伊人色综合一区二区三区| 国产乱码卡一卡2卡三卡四|