Vue と Mock.js が連携してログインをシミュレートし、テーブルの追加、削除、変更、クエリを実装します。
この記事では、Vue と Mock.js を連携させてログインをシミュレートし、テーブルの追加、削除、変更、クエリを実装する方法についての記事を紹介します。これは良い参考値であり、困っている友人に役立つことを願っています。
はじめに
mockjs については、
1. フロントエンドとバックエンドの分離
2 について説明されています。既存のコードを変更する必要はなく、Ajax リクエストをインターセプトし、シミュレートされた応答データを返すことができます。
3. 豊富なデータタイプ
4. ランダムデータを通じてさまざまなシナリオをシミュレートします。
5 プロジェクトは責任を負いません (バックエンドがインターフェイスを提供するのを待っている場合は、責任を負うこともできます)
その他の利点について、最後に追加しました。
最初のステップはmock.jsをインストールすることです
npm install mockjs --save-dev
2番目のステップはmock.jsを使用することです
import Mock from 'mockjs'
使用する場所に導入します。私はプロジェクト src/mock/index.js
で mock.js
を使用しますsrc/mock/index.js
里面使用mock.js
详细请看官方文档
关键点1:Mock.mock()
Mock.mock( rurl?, rtype?, template|function( options ) )
这里的参数都是可选:
rurl(可选)。
表示需要拦截的 URL,可以是 URL 字符串或 URL 正则。例如 //domain/list.json/、'/domian/list.json'。
rtype(可选)。
表示需要拦截的 Ajax 请求类型。例如 GET、POST、PUT、DELETE 等。
template(可选)。
表示数据模板,可以是对象或字符串。例如 { 'data|1-10':[{}] }、'@EMAIL'。
function(options)(可选)。
表示用于生成响应数据的函数。
options:指向本次请求的 Ajax 选项集。
关键点2:模板生成语法:
数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:
// 属性名 name
// 生成规则 rule
// 属性值 value
'name|rule': value
属性名 和 生成规则 之间用竖线 | 分隔。
生成规则 是可选的。
生成规则 有 7 种格式:
'name|min-max': value
'name|count': value
'name|min-max.dmin-dmax': value
'name|min-max.dcount': value
'name|count.dmin-dmax': value
'name|count.dcount': value
'name|+step': value`
生成规则 的 含义 需要依赖 属性值的类型 才能确定。
属性值 中可以含有 @占位符。
属性值 还指定了最终值的初始值和类型。
举个栗子:
栗子1:
//string表示属性名 //3表示后面属性值重复次数 Mock.mock({ "string|3": "★" })
结果:
//星星数量为3 { "string": "★★★" }
栗子2:
// num为属性名 // 生成一个大于等于1,小于等于100 的整数,属性值100只是用来确定类型 Mock.mock({ "num|1-100": 100 })
结果
{ "number": 8 }
其他设置
// 设置全局延时 没有延时的话有时候会检测不到数据变化 建议保留 Mock.setup({ timeout: '300-600' })
模拟登录
// 模拟登录user/login
接口,对应的函数是loginByUsername
Mock.mock(/\/user\/login/, 'post', loginByUsername)
当调用登录接口user/loign
时候会自动对应到loginByUsername
这个函数执行这个函数,
这个函数会返回是否登录成功数据。返回成功的数据,就是登录成功了,否则相反。
mock模拟登录ok
接下来介绍模拟表格增删改查。
其实也是差不多的
// 用户相关 Mock.mock(/\/user\/listpage/, 'get', getUserList) //模拟分页查询用户信息接口 Mock.mock(/\/user\/remove/, 'get', deleteUser) //模拟删除用户信息接口 Mock.mock(/\/user\/add/, 'get', createUser) //模拟添加用户信息接口 Mock.mock(/\/user\/edit/, 'get', updateUser) //模拟编辑用户信息接口
就是返回条件查询后的集合假数据而已,假数据是mock.js模拟的。
先循环添加60个假用户
let List = [] const count = 60 for (let i = 0; i < count; i++) { List.push(Mock.mock({ id: Mock.Random.guid(), name: Mock.Random.cname(), addr: Mock.mock('@county(true)'), 'age|18-60': 1, birth: Mock.Random.date(), sex: Mock.Random.integer(0, 1) })) }
我们再来看getUserList
这个函数,就是返回分页条件查询的假数据。
getUserList: config => { const { name, page = 1, limit = 20 } = param2Obj(config.url) const mockList = List.filter(user => { if (name && user.name.indexOf(name) === -1) return false return true }) const pageList = mockList.filter((item, index) => index < limit * page && index >= limit * (page - 1)) return { code: 0, data: { total: mockList.length, users: pageList } } }
关于增加,删除和修改都只需要返回一个数据message="操作成功"
import './mock' // simulation data 路径index.js可省略
- 🎜テンプレート (オプション)。 🎜
- 🎜function(オプション)(オプション)。 🎜
- 🎜options: このリクエストに設定された Ajax オプションを指します。 🎜
- 🎜 データ テンプレートの各属性は、属性名、生成の 3 つの部分で構成されます。ルールと属性値: 🎜
- 🎜// 属性名 name🎜 🎜// ルールの生成 rules🎜
- 🎜// 属性値 value🎜
- 🎜'name|rule': value🎜
- 🎜属性名と生成ルールは縦棒 | で区切られます。 🎜
- 🎜生成ルールはオプションです。 🎜
- 🎜生成ルールには 7 つの形式があります: 🎜
- 🎜' name |min-max': 値🎜
- 🎜'名前|カウント': 値🎜
- 🎜'名前|min-max.dmin-dmax': 値🎜
- 🎜'name|min-max.dcount': value🎜
- 🎜'name|count.dmin-dmax': value🎜
- 🎜'name|count. ': value🎜
- 🎜'name|+step': value`🎜
- 生成ルールの意味は属性値の種類によって異なります。 🎜
- 🎜属性値には @ プレースホルダーを含めることができます。 🎜
- 🎜属性値は、初期値と最終値の型も指定します。 🎜
栗 1: 🎜rrreee🎜結果: 🎜rrreee🎜栗 2: 🎜rrreee🎜結果🎜rrreee🎜その他の設定🎜rrreee🎜シミュレートされたログイン🎜🎜// シミュレートログイン
user/login
インターフェイス、対応する関数は loginByUsername
です🎜rrreee🎜 ログイン インターフェイス user/login
が呼び出されると、自動的に次のように対応します。 loginByUsername
この関数はこの関数を実行します。この関数はログインが成功したかどうかを返します。成功したデータが返された場合はログインが成功したことを意味します。それ以外の場合はその逆です。 🎜🎜模擬ログインOK🎜🎜 次に、模擬フォームの追加、削除、変更、クエリを紹介します。
実際、🎜rrreee🎜は条件付きクエリの後に返される偽のデータのコレクションにすぎません。偽のデータはmock.jsによってシミュレートされます。 🎜🎜まずループに 60 人の偽のユーザーを追加します🎜rrreee🎜ページング条件クエリの偽のデータを返す
getUserList
関数を見てみましょう。 🎜rrreee🎜 追加、削除、変更に関しては、message="Operation success"
というデータを返すだけで済みます。 🎜🎜 3 番目のステップは、main.js に先ほど書いた src/mock/index.js を導入することです🎜rrreee🎜 関連する推奨事項: 🎜🎜🎜vue.js Baidu Map の jsApi を導入するにはどうすればよいですか? Baidu MapのjsApiを導入する2つの方法を紹介🎜🎜🎜vue.jsはツリーテーブルのカプセル化をどのように実装しているのでしょうか? vue.jsでツリーテーブルを実装する方法🎜🎜🎜以上がVue と Mock.js が連携してログインをシミュレートし、テーブルの追加、削除、変更、クエリを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。
