この記事は主に vue-cli プロジェクトでの mockjs の使用法 (データの削除を要求する) を紹介しています。興味のある方は参考にしていただければ幸いです。
実際の運用では、バックエンド インターフェイスは後から公開されることが多いため、フロントエンド開発の多くはインターフェイスが提供されるまで待たなければなりません。これはフロントエンドにとって非常に受動的であるように思えます。バックエンド インターフェイスをシミュレートするために偽のデータを作成できます。答えは「はい」です。そこで今日は、バックエンド データを非常に便利にシミュレートし、バックグラウンド データの追加、削除、変更、確認などの操作を簡単に実装できる、非常に強力なプラグイン Mock.js を紹介します。あなたがしなければならないのは、mockjs を削除することだけです。実際の ajax のインターセプトを停止するだけです。それ以上は何もありません。
vueプロジェクトを構築する
# 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新项目 vue init webpack vue-mock $ cd my-project # 安装依赖 $ npm install
mockjsをインストールする
npm install mockjs --save-dev
プロジェクトを開く
npm run dev
mockjsフォルダーとmockjsを作成し、 .js はこのファイルをインポートします
この時点で、次のようなプロジェクト構造が表示されます
mockjs の使用
この時点で、mockjs のドキュメントを参照することができます。
// 使用 Mock var Mock = require('mockjs') var data = Mock.mock({ // 属性 list 的值是一个数组,其中含有 1 到 10 个元素 'list|1-10': [{ // 属性 id 是一个自增数,起始值为 1,每次增 1 'id|+1': 1 }] }) // 输出结果 console.log(JSON.stringify(data, null, 4))
これで、やりたいことを実行できます
mock.jsでいくつかの簡単なデータをシミュレート
const Mock = require('mockjs'); // 获取 mock.Random 对象 const Random = Mock.Random; // mock一组数据 const produceData = function (opt) { console.log('opt', opt); let articles = []; for (let i = 0; i < 30; i++) { let newArticleObject = { title: Random.csentence(5, 30), // Random.csentence( min, max ) thumbnail_pic_s: Random.dataImage('300x250', 'mock的图片'), // Random.dataImage( size, text ) 生成一段随机的 Base64 图片编码 author_name: Random.cname(), // Random.cname() 随机生成一个常见的中文姓名 date: Random.date() + ' ' + Random.time() // Random.date()指示生成的日期字符串的格式,默认为yyyy-MM-dd;Random.time() 返回一个随机的时间字符串 } articles.push(newArticleObject) } return { data: articles } } Mock.mock('/news', /post|get/i, produceData);//当post或get请求到/news路由时Mock会拦截请求并返回上面的数据
vueでリクエスト
methods: { setNewsApi: function() { this.$http.post("/news", "type=top&key=123456").then(res => { console.log(res.data); this.newsListShow = res.data.data; }); } }
エフェクトプレビュー
する別の削除プロセス
シミュレートされたデータ
let arr = [] for (let i = 0; i < 30; i++) { let newArticleObject = { name: Random.cname(), // Random.cname() 随机生成一个常见的中文姓名 content: Random.csentence(5, 30), // Random.csentence( min, max ) id: i } arr.push(newArticleObject); } let list = function (options) { let rtype = options.type.toLowerCase(); //获取请求类型 switch (rtype) { case 'get': break; case 'post': let id = parseInt(JSON.parse(options.body).params.id) //获取删除的id arr = arr.filter(function(val){ return val.id!=id;//把这个id对应的对象从数组里删除 }); break; default: } return { data: arr } //返回这个数组,也就是返回处理后的假数据 } Mock.mock('/list', /get|post/i, list);//get用于请求数据,post用于删除数据
vueで使用
methods: { setNewsApi: function() { this.$http.get("/list", "").then(res => { this.data = res.data.data; }); }, deleteList(data) { //删除数据 let id = data.id; this.$http.post('/list', { params: { id: id } }).then(function(res) { console.log(res); this.data = res.data.data; alert(data.name + '删除成功'); }.bind(this)) .catch(function(error) { console.log(error) }); }, }
エフェクトプレビュー
関連する推奨事項:
vuecli 、webpack モックjs を使用してバックエンドをシミュレートしますデータ
PHPで実装されたシンプルなモックjsonスクリプトの共有、phpmockjson script_PHPチュートリアル
mock.jsを使用してフロントエンド開発とバックエンドを独立させます
以上がvue-cliプロジェクトでmockjsを使用する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。