摘要:提供了兩種向組件傳遞參數的方式。子路由項路徑不要使用開頭,以開頭的嵌套路徑會被當作根路徑。路由實例的方法這里學習兩個路由實例的方法和。實際上,是通過不同的將這些資源加載后打包,然后輸出打包后文件。
一、vue-router 1、簡介
我們經常使用vue開發單頁面應用程序(SPA)。在開發SPA過程中,路由是必不可少的部分,vue的官方推薦是vue-router。單頁面應用程序看起來好像是一個頁面,其實是在一個頁面中切換不同的html部分,從而達到所謂的單頁面,在這切換之中,就需要使用路由來實現不同的頁面內容的展現。
2、基本用法 (1).使用步驟vue-router的基本使用步驟如下:
定義需要切換的組件
配置路由,規定路徑到組件的映射關系
創建路由實例
將路由掛載到vue實例
//1.定義組件,用于路由切換 var Home = { template: "我是主頁" } var News = { template: "我是新聞" } //2.配置路由 const routes = [{ path: "/home", component: Home },{ path: "/news", component: News },{ //這一路由配置用于首次訪問或者找不到所請求路由,自動跳轉home頁 path: "*", redirect: "/home" }]; //3.創建路由實例 var router = new VueRouter({ routes //傳入配置好的路由信息 }); //4.掛載路由到根組件 new Vue({ el: "#app", router });
這樣我們就配置好了一個完整的路由。在切換組件的時候會根據路由加載不同的組件。我們使用類似a標簽的
主頁 新聞
這樣我們就可以實現主頁和新聞組件間的切換。
(2).參數傳遞可能我們需要向所切換組件傳遞參數。vue提供了兩種向組件傳遞參數的方式。
查詢字符串的形式
/home?name=dawei&pwd=666
在組件內部使用{{$route.query}}接收參數
rest風格
/news/param1/param2
在組件內部使用{{$route.params}}接收參數
(3).路由嵌套路由還可以多層嵌套使用,使用children屬性。
{ path:"/user", component:User, children:[ { path:"login", component:Login }, { path:"regist", component:Regist } ] }
子路由項路徑不要使用/開頭,以 / 開頭的嵌套路徑會被當作根路徑。
在組件中就可以使用該路由:
用戶信息
用戶登陸 用戶注冊
注意路徑的寫法。
3、路由實例的方法這里學習兩個路由實例的方法:router.push()和router.replace()。
router.push():添加路由,功能上與
router.replace(): 替換路由,不產生歷史記錄
router.push({path:"home"}) router.replace({path:"user"})4、路由結合動畫
路由結合動畫使用很簡單,我們可以用
二、單文件組件 1、.vue文件
.vue文件稱為單文件組件,是Vue.js自定義的一種文件格式,一個.vue文件就是一個多帶帶的組件,在文件內封裝了組件相關的代碼:html、css、js代碼。
.vue文件由三部分組成:、、:
//html2、vue-loader
瀏覽器本身并不認識.vue文件,此時需要vue-loader對.vue文件進行加載解析,。類似的loader還有許多,如:html-loader、css-loader、style-loader、babel-loader等。需要注意的是vue-loader是基于webpack的。
3、webpackwebpack是一個前端資源模板化加載器和打包工具,它能夠把各種資源都作為模塊來使用和處理。實際上,webpack是通過不同的loader將這些資源加載后打包,然后輸出打包后文件。簡單來說,webpack就是一個模塊加載器,所有資源都可以作為模塊來加載,最后打包輸出。
三、vue-cli 1. 簡介vue-cli是一個vue腳手架,可以幫助我們快速構造項目結構,減少開發人員開發阻力。vue-cli集成了多種版本:
simple :比較簡單
webpack :包含ESLint代碼規范檢查和unit單元測試等
webpack-simple: 沒有代碼規范檢查和單元測試
browserify: 使用的也比較多
browserify-simple
2.安裝、操作步驟//安裝vue-cli,配置vue命令環境 cnpm install vue-cli -g vue --version vue list // 初始化項目,生成項目模板 vue init 模板名 項目名 //進入生成的項目目錄,安裝模塊包 cd vue-cli-demo cnpm install //運行 npm run dev //啟動測試服務 npm run build //將項目打包輸出dist目錄,項目上線的話要將dist目錄拷貝到服務器上3.文件介紹
. |-- build // 項目構建(webpack)相關代碼 | |-- build.js // 生產環境構建代碼 | |-- check-version.js // 檢查node、npm等版本 | |-- dev-client.js // 熱重載相關 | |-- dev-server.js // 構建本地服務器 | |-- utils.js // 構建工具相關 | |-- webpack.base.conf.js // webpack基礎配置 | |-- webpack.dev.conf.js // webpack開發環境配置 | |-- webpack.prod.conf.js // webpack生產環境配置 |-- config // 項目開發環境配置 | |-- dev.env.js // 開發環境變量 | |-- index.js // 項目一些配置變量 | |-- prod.env.js // 生產環境變量 | |-- test.env.js // 測試環境變量 |-- src // 源碼目錄 | |-- components // vue組件 | |-- store // 狀態管理 | |-- App.vue // 頁面入口vue文件 | |-- main.js // 程序入口文件,加載各種公共組件 |-- static // 靜態文件 | |-- data |-- .babelrc // ES6語法編譯配置 |-- .editorconfig // 定義代碼格式 |-- .gitignore // git上傳需要忽略的文件格式 |-- README.md // 項目說明 |-- favicon.ico //網頁圖標 |-- index.html // 入口頁面 |-- package.json // 項目配置信息 .
此列表拷貝自:https://segmentfault.com/a/11...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/51410.html
摘要:提供了兩種向組件傳遞參數的方式。子路由項路徑不要使用開頭,以開頭的嵌套路徑會被當作根路徑。路由實例的方法這里學習兩個路由實例的方法和。實際上,是通過不同的將這些資源加載后打包,然后輸出打包后文件。 一、vue-router 1、簡介 我們經常使用vue開發單頁面應用程序(SPA)。在開發SPA過程中,路由是必不可少的部分,vue的官方推薦是vue-router。單頁面應用程序看起來好像...
摘要:當組件給其他人使用時這很有用,因為這些驗證要求構成了組件的,確保其他人正確地使用組件。有特性的稱為命名。例如,假定我們有一個組件,它的模板為父組件模板渲染結果為 一、注冊 // 定義 var MyComponent = Vue.extend({ template: A custom component! }); // 注冊 Vue.component(my-component, ...
摘要:各模塊各司其職,提高開發效率。使用生成的項目目錄里,我們主要關注目錄。這個是我們之前提到的單頁面組件。這是項目的路由文件,存放項目中所有的路由。這里和我們之前所學沒什么不同,不過是涉及了不少的知識。 一、vue模塊化開發 所謂的模塊化開發是指將不同的部分封裝到不同的模塊中,不再將所有的組件、路由等寫在一個頁面中。各模塊各司其職,提高開發效率。 使用vue-cli生成的項目目錄里,我們主...
摘要:各模塊各司其職,提高開發效率。使用生成的項目目錄里,我們主要關注目錄。這個是我們之前提到的單頁面組件。這是項目的路由文件,存放項目中所有的路由。這里和我們之前所學沒什么不同,不過是涉及了不少的知識。 一、vue模塊化開發 所謂的模塊化開發是指將不同的部分封裝到不同的模塊中,不再將所有的組件、路由等寫在一個頁面中。各模塊各司其職,提高開發效率。 使用vue-cli生成的項目目錄里,我們主...
閱讀 1956·2021-11-22 15:29
閱讀 3252·2021-10-14 09:43
閱讀 1223·2021-10-08 10:22
閱讀 3342·2021-08-30 09:46
閱讀 1431·2019-08-30 15:55
閱讀 1923·2019-08-30 15:44
閱讀 849·2019-08-30 14:19
閱讀 1439·2019-08-30 13:13