欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue+Mockjs模擬curd接口請求的示例詳解

 更新時間:2022年07月11日 17:13:54   作者:就愛吃小魚  
這篇文章主要介紹了Vue+Mockjs模擬curd接口請求的示例詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

在前后端分離的項目中常常會遇到當前端頁面開發(fā)完成
但是后端接口還沒好,暫不支持聯(lián)調的情況下,一般我們會用到mock數(shù)據(jù)
這邊簡單說一下最常見且經(jīng)常會遇到的curd接口模擬
注:這邊可以和后端先約定好接口路徑以及入?yún)⒎祬⒌淖侄危苊舛涡薷?/p>

1.安裝依賴,新建js文件,在文件中導入mock.js,模擬列表數(shù)據(jù)

yarn add mockjs
const Mock = require("mockjs")

const list = []
const length = 18
for (let i = 0; i < length; i++) {
    list.push(
        Mock.mock({
            id: '@id',
            account: '@first',
            name: '@name',
            email: '@email',
            mobile: '@phone',
            sex: '@integer(0,1)',
            type: "@integer(100,101)",
            status: "@integer(0,1)",
        })
    )
}

2.查詢列表接口模擬

 {
        url: "/user/getPageList",
        type: "post",
        response: config => {
            // 拿到入?yún)?
            const {
                name,
                account,
                status,
                type,
                pageNum,
                pageSize,
            } = config.body;
            // 做一些查詢條件的處理
            const mockData = list.filter(item => {
                if (name && item.name.indexOf(name) < 0) return false
                if (account && item.account.toString() !== account) return false
                if (status && item.status.toString() !== status) return false
                if (type && item.type.toString() !== type) return false
                return true
            })
            // 模擬分頁
            const pageList = mockData.slice((pageNum - 1) * pageSize, pageNum * pageSize)
            // 返回數(shù)據(jù)
            return {
                resultCode: "1",
                messageCode: null,
                message: null,
                data: {
                    list: pageList,
                    total: mockData.length
                }
            };
        }
    },

3.刪除功能接口模擬

 {
        url: "/user/removeRow",
        type: "post",
        response: config => {
            const {
                id
            } = config.body
            // 根據(jù)id找到需要刪除的元素索引
            const index = list.findIndex(item => item.id === id)
            // 調用splice刪除
            list.splice(index, 1)
            return {
                resultCode: "1",
                messageCode: null,
                message: null,
                data: 'success'
            }
        }
    },

4.保存及編輯接口模擬

{
        url: "/user/saveForm",
        type: "post",
        response: config => {
            const {
                id
            } = config.body
            if (id) {
                // 關鍵在于id,其他入?yún)⒉欢噘樖觯窬謎d找到那條數(shù)據(jù)調用splice替換
                const index = list.findIndex(item => item.id === id)
                list.splice(index, 1, config.body)
            } else {
                // 如果id不存在則在列表添加一條數(shù)據(jù)
                list.unshift(
                    Mock.mock({
                        id: '@id',
                        ...config.body
                    })
                )
            }
            return {
                resultCode: "1",
                messageCode: null,
                message: null,
                data: 'success'
            }
        }
    },

如上便是簡易的curd接口模擬,具體mock-server.js的配置可去網(wǎng)上查閱
所有接口使用module.exports導出后,在調用時就會執(zhí)行mock的接口

相關文章

  • 基于vue封裝一個安全鍵盤組件

    基于vue封裝一個安全鍵盤組件

    大部分中文應用彈出的默認鍵盤是簡體中文輸入法鍵盤,在輸入用戶名和密碼的時候,如果使用簡體中文輸入法鍵盤,用戶的輸入記錄會被緩存下來所以我們需要一個安全鍵盤,本文給大家介紹了如何基于vue封裝一個安全鍵盤組件,需要的朋友可以參考下
    2023-12-12
  • vue實現(xiàn)放大鏡效果

    vue實現(xiàn)放大鏡效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)放大鏡效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 詳解.vue文件中監(jiān)聽input輸入事件(oninput)

    詳解.vue文件中監(jiān)聽input輸入事件(oninput)

    本篇文章主要介紹了詳解.vue文件中監(jiān)聽input輸入事件(oninput),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue實現(xiàn)移動端適方案的完整步驟

    vue實現(xiàn)移動端適方案的完整步驟

    現(xiàn)在的手機五花八門,造就了移動端窗口分辨率繁多的局面,在不同分辨率的屏幕下保持與UI圖一致的效果,就成了讓前端不得不頭疼的問題,下面這篇文章主要給大家介紹了vue實現(xiàn)移動端適方案的相關資料,需要的朋友可以參考下
    2022-10-10
  • vue.config.js打包優(yōu)化配置

    vue.config.js打包優(yōu)化配置

    這篇文章主要介紹了vue.config.js打包優(yōu)化配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Vue3引入騰訊地圖包含標注簡易操作指南

    Vue3引入騰訊地圖包含標注簡易操作指南

    這篇文章主要介紹了Vue3引入騰訊地圖的相關資料,并實現(xiàn)點擊地圖添加標注的功能,示例代碼提供了添加單個或多個標注的方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-09-09
  • vue webpack build資源相對路徑的問題及解決方法

    vue webpack build資源相對路徑的問題及解決方法

    這篇文章主要介紹了vue webpack build資源相對路徑的問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 深入理解Vue的插件機制與install詳細

    深入理解Vue的插件機制與install詳細

    這篇文章主要介紹的是深入理解Vue的插件機制與install,文章主要是講解install函數(shù)可以做些什么、install內(nèi)部是怎么實現(xiàn)的、 Vuex,Vue-Router插件在install期間到底干了什么,需要的小伙伴可以參考一下
    2021-09-09
  • Vue3源碼分析組件掛載創(chuàng)建虛擬節(jié)點

    Vue3源碼分析組件掛載創(chuàng)建虛擬節(jié)點

    這篇文章主要為大家介紹了Vue3源碼分析組件掛載創(chuàng)建虛擬節(jié)點,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • vue-router的兩種模式的區(qū)別

    vue-router的兩種模式的區(qū)別

    這篇文章主要介紹了vue-router的兩種模式的區(qū)別,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05

最新評論