1. 程式人生 > >vue-router 路由模式及url中#號的解析

vue-router 路由模式及url中#號的解析

路由模式解析

這裡要講vue-router的路由模式,首先要了解的一點就是路由是由多個URL組成的,使用不同的URL可以相應的導航到不同的位置。如果有進行過伺服器開發或者對http協議有所瞭解就會知道,瀏覽器中對頁面的訪問是無狀態的,所以我們在切換不同的頁面時都會重新進行請求。而實際使用vue和vue-router開發就會明白,在切換頁面時是沒有重新進行請求的,使用起來就好像頁面是有狀態的,這是什麼原因呢。這其實是藉助了瀏覽器的History API來實現的,這樣可以使得頁面跳轉而不重新整理,頁面的狀態就被維持在瀏覽器中了。

vue-router

vue-router中預設使用的是hash模式,也就是會出現如下的URL:
這裡寫圖片描述


URL中帶有#號

我們可以用如下程式碼修改成history模式:

import Vue from 'vue'
import Router from 'vue-router'
import Main from '@/components/Main'
Vue.use(Router)

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/',
      component: Main
    }
  ]
})

這樣子URL中的#號就被去除了。

實際上存在三種模式:

Hash: 使用URL的hash值來作為路由。支援所有瀏覽器。
History: 以來HTML5 History API 和伺服器配置。參考官網中

HTML5 History模式
Abstract: 支援所有javascript執行模式。如果發現沒有瀏覽器的API,路由會自動強制進入這個模式。

相關推薦

vue-router 路由模式url#解析

路由模式解析 這裡要講vue-router的路由模式,首先要了解的一點就是路由是由多個URL組成的,使用不同的URL可以相應的導航到不同的位置。如果有進行過伺服器開發或者對http協議有所瞭解就會知道,瀏覽器中對頁面的訪問是無狀態的,所以我們在切換不同的頁面時

vue-router路由模式

  一、路由模式解析   要講vue-router的路由模式,首先要了解的一點就是路由是由多個URL組成的,使用不同的URL可以相應的導航到不同的位置。   如果有進行過伺服器開發或者對http協議有所瞭解就會知道,瀏覽器中對頁面的訪問是無狀態的,所以我們在切換不同的頁面時都會

Vue路由模式監聽

當然詳細情況還是看一下vue的官網咖 官網https://router.vuejs.org/zh/   hash模式下(預設) new VueRouter({ mode : ‘hash’, routes : [] }) window.addEventLi

vue-router 在微信瀏覽器操作history URl未改變的解決方案

問題描述: 在PC端和手機瀏覽器中router.replace() or router.push()能夠正常使用,頁面的地址和頁面都正常顯示;但是在微信中,從/a頁面通過router.push('/b')跳轉到/b頁面後,頁面正常,但是複製瀏覽器的地址會發現其地址仍為/a;

vue-router路由元資訊keep-alive元件級快取

  路由元資訊?(黑人問號臉???)是不是這麼官方的解釋很多人都會一臉懵?那麼我們說meta,是不是很多人恍然大悟,因為在專案中用到或者看到過呢?   是的,路由元資訊就是我們定義路由時配置的meta欄位;那麼這個meta的作用是什麼呢?   首先看一個場景:     通常我們在開發網站或者移動應用的時候,我

<keep-alive>控制Vue Router路由

view homepage 信息 app keepal div path router class 只給部分組件加上<keep-alive>啊,在app.vue裏這樣 <!-- 這裏是需要keepalive的 --> <keep-alive&

vue-router路由懶加載(解決vue項目首次加載慢)

.com alt 什麽 配置 過多 異常 減少 webpack bpa 懶加載:----------------------------------------------------?     也叫延遲加載,即在需要的時候進行加載,隨用隨載。 為什麽需要懶加載?     

Vue」起步 - vue-router路由與頁面間導航

port details cal 重定向 替換 特色 插件 實戰 顯式 vue-router 我們知道路由定義了一系列訪問的地址規則,路由引擎根據這些規則匹配找到對應的處理頁面,然後將請求轉發給頁進行處理。可以說所有的後端開發都是這樣做的,而前端路由是不存在"請求"一說的

Vue(十六)vue-router路由

gin package ebp () func font class 資源 red 一、 vue-router路由 1. 簡介 使用Vue.js開發SPA(Single Page Application)單頁面應用 根據不同url地址,顯示不同的內容,但顯示在同一

移動端vue項目構建(二)配置環境 vue-router路由 VUX ui框架 axios請求等等~~

公眾號 文件 ons keyword bubuko 使用方法 sass outer click 首先說一下,此項目的配置環境插件,因為是移動端所以有一部分考慮的都是移動端 : 路由 vue-router 路由 路由是vue項目中很重要的東西,構建的時候一路回車就是選好了。

vue-router路由懶加載

簡單的 href mib blog 找到 打包 首頁 OS com 懶加載:----------------------------------------------------?     也叫延遲加載,即在需要的時候進行加載,隨用隨載。 為什麽需要懶加載?     像v

Vue-router路由基礎總結(二)

發現 路由配置 script -s r12 ali 添加 實例 code 一、命名路由   有時我們通過一個名稱來標識一個路由顯得更方便一些,特別是在鏈接一個路由,或者是執行一些跳轉的時候。你可以在創建 Router 實例的時候,在 routes 配置中給某個路由設置名稱。

Vue2.0筆記——vue-router路由

Vue簡介 使用Vue.js開發SPA(Single Page Application)單頁面應用。vue-router可以通過html5的history API或者hash實現單頁應用,即不刷新跳轉,切換地址,只是頁面上的組件的切換;vue-router可以實現頁面間傳參等其他功能; 基本用法 當你要把 v

【並發編程】Future模式JDK的實現

[] 代碼 inter jpg 分離 src span 最終 提高 1.1、Future模式是什麽 先簡單舉個例子介紹,當我們平時寫一個函數,函數裏的語句一行行同步執行,如果某一行執行很慢,程序就必須等待,直到執行結束才返回結果;但有時我們可能並不急著需要其中某行的執行結果

vue router mode模式在webpack 打包上線問題

vue-router mode模式有兩種 hash和history。 1.hash —— 即位址列 URL 中的 # 符號。比如這個 URL:http://www.abc.com/#/hello,hash 的值為 #/hello。它的特點在於:hash 雖然出現在 U

vue-router路由守衛

路由守衛及獲取cookie裡的GTICKET: ROUTER. beforeEach(( to, from, next) => { var reg = new RegExp( '(^| )

vue-router路由配置

 轉自http://www.cnblogs.com/padding1015/ 兩種配置方法:在main.js中 || 在src/router資料夾下的index.js中  src/router/index.js中  1 引入   import 

Vue router 路由巢狀 路由重定向 路由別名 router-link傳引數

<template> <div> 這是商品列表頁面 <router-link :to="{ name: 'title'}">標題</router-link> <router-link to="/good

vue餓了麼(一)--vue-router路由 & mock後臺資料

1.vue-router:點選導航按鈕顯示相應頁面 1.router/index.vue import Vue from 'vue' import Router from 'vue-router' import header from '@/components/header/header'

vue-router路由管理器

code ins font clas ria style spa span route 安裝vue-router npm install vue-router 在main.js中引入 import VueRouter from ‘vue-router‘ Vue.