1. 程式人生 > >Vue從零開發SPA專案

Vue從零開發SPA專案

所謂SPA(Single Page Application),就是單頁面應用的意思。 vue的亮點就是我們只需要關注資料的變化,下面演示一下從零開始建立一個獨立專案,並且能自定義路由,提交表單。 [toc] # 一、命令列建立專案 ## 使用vue-cli 安裝 ``` npm install vue-cli -g ``` 介面建立專案 安裝完成後執行 ``` vue ui ``` 開啟http://localhost:8000,會看到如下介面 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172313760-1076122845.png) *建立專案 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172318256-690548795.png) 下一步,我選擇了預設 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172321642-1903207227.png) 建立完後目錄如下 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172326050-1044303960.png) 也可以直接用命令列建立 ``` vue create qionghe ``` 啟動專案,更多請檢視[cli使用文件](https://cli.vuejs.org/zh/guide/cli-service.html#%E4%BD%BF%E7%94%A8%E5%91%BD%E4%BB%A4) 我們進入目錄chenqionghe,執行```npm run serve``` ``` cd chenqionghe npm run serve ``` ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172417356-804604602.png) 開啟介面如下http://localhost:8080/ ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172421883-1395829632.png) ## 建立webpack專案 安裝 ``` npm i -g @vue/cli-init ``` 建立專案 ``` vue init webpack chenqionghe ``` 一路回車 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172428187-615852040.png) 安裝完成目錄如下 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172432004-763286931.png) 啟動 ``` npm run dev ``` ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172437003-1238674503.png) 開啟http://localhost:8080/#/如下 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172442177-1716897906.png) # 二、自定義路由 關於路由的使用可以參考檢視:[router文件](https://router.vuejs.org/zh/guide/) ## 絕對路由 新建路由檔案Cqh.vue ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172448639-1840667078.png) router/index.js引入這個新路由,並指定一個自己的路由 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172458323-24802932.png) 訪問:http://localhost:8080/#/cqh,看到如下結果 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172504207-70838213.png) 這樣我們就可以自定義路由了 ## 帶引數的路由 比如在後面加上:id,如下 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172510827-1865551756.png) 使用{{ $route.params.鍵名}}獲取,如下 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172518086-289981560.png) 執行結果 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172520981-1821892183.png) 可以看到,id已經能正常的獲取和渲染了 ## 巢狀路由 就是一個分組路由的概念,我們把component/Cqh.vue修改一下 ``` ``` 這個router-link就是使用路由的方式,這裡我加了兩上新路由/cqh/testA,/cqh/testB 這個``````就是子路由要渲染的地方,再新增一個對應的子路由,如下 訪問http://localhost:8080/#/cqh,如下 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172545425-1683085612.png) 分別點選TestA和TestB, ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172555988-658149846.png) ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172601176-383747788.png) 這裡的頁面切換非常平常,體驗相當好! # 三、表單互動示例 有路由了,咱們後端關注的還是資料互動,少不了表單,下面來個簡單的示例TestForm,程式碼如下 ``` ``` 執行如下 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172621732-1077857387.png) 再提交一下資料,測試一下 ![](https://img2020.cnblogs.com/blog/662544/202012/662544-20201231172627044-1572519086.png) 可以看到已經能拿到表單的資料了,有了表單資料,就可以自行請求介面了。 正式專案可以考慮使用[ElementUI](https://element.eleme.cn/#/zh-CN/component/form)來建立好看一點的頁面 vue的使用也太簡單了吧,太感人了,只需要關注資料的變化!giao~