vue 首頁導航+左側菜單


1. Mock.js
前后端分離開發開發過程當中,經常會遇到以下幾個尷尬的場景:
1. 老大,接口文檔還沒輸出,我的好多活干不下去啊!
2. 后端小哥,接口寫好了沒,我要測試啊!
前后端分離之后,前端迫切需要一種機制,不再需要依賴后端接口開發,而今天的主角mockjs就可以做到這一點

Mock.js是一個模擬數據的生成器,用來幫助前端調試開發、進行前后端的原型分離以及用來提高自動化測試效率。

眾所周知Mock.js因為兩個重要的特性風靡前端:
數據類型豐富
支持生成隨機的文本、數字、布爾值、日期、郵箱、鏈接、圖片、顏色等。
攔截Ajax請求
不需要修改既有代碼,就可以攔截Ajax請求,返回模擬的響應數據。

更多內容,可以雲Mockjs官方查看“http://mockjs.com/”


注1:easy-mock,一個在線模擬后台的數據平台

2. Mock.js使用步驟
2.1 安裝mockjs依賴
npm install mockjs -D #只在開發環境使用

 

 

2.2 引入
為了只在開發環境使用mock,而打包到生產環境時自動不使用mock,我們可以在env中做一個配置
(1)dev.env
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
MOCK: 'true'
})

 


(2)prod.env
module.exports = {
NODE_ENV: '"production"',
MOCK: 'false'
}

 

(3)main.js
//開發環境下才會引入mockjs
process.env.MOCK && require('@/mock')

 

 

2.3 目錄和文件創建
在src目錄下創建mock目錄,定義mock主文件index.js,並在該文件中定義攔截路由配置,
/src/mock/index.js

導入公共模塊及mockjs全局設置
import Mock from 'mockjs' //引入mockjs,npm已安裝
import action from '@/api/action' //引入封裝的請求地址

//全局設置:設置所有ajax請求的超時時間,模擬網絡傳輸耗時
Mock.setup({
// timeout: 400 //延時400s請求到數據
timeout: 200 - 400 //延時200-400s請求到數據
})


2.4 為每個*.vue定義單獨的xxx-mock.js文件
/src/mock/json/login-mock.js

注1:可以添加自定義的json數據
注2:還可以通過mockjs的模板生成隨機數據

 


2.5 在index.js中導入xxx-mock.js,並添加攔截路由配置
import loginInfo from '@/mock/json/login-mock.js'
Mock.mock(url, "post", {...})

 看頁面打印結果

4. 后台首頁AppMain.vue的創建
4.1 Container布局容器

4.2 TopNav


注1:使用組件之間通信,完成左側菜單折疊

4.3 LeftAside

導入相應的vue和img

 

 

 

 

5. vue組件之間傳遞數據(總線)

根據vue組件之間傳遞數據實現element-ui的NavMenu菜單折疊、展開效果。

5.1 子組件往父組件傳遞數據(this.$emit)

 

 

TopNav -> Main

5.2 父組件往子組件傳遞數據(props)

 

 

Main -> LeftAside

 效果圖

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM