Home  >  Article  >  Web Front-end  >  How vue calls mock data

How vue calls mock data

php中世界最好的语言
php中世界最好的语言Original
2018-04-14 17:21:272910browse

This time I will show you how vue calls mock data. What are the precautions for vue to call mock data? The following is a practical case, let's take a look.

Initialize your project

Without further ado, first initialize your project. The easiest way is to use vue-cli

vue init webpack

Introduce mock.js

Installation mockjs

npm install --save-dev mockjs

Introduced into the Vue prototype for easy use

 import mockjs from 'mockjs'
 Vue.prototype.$mock = Vue.$mock = mockjs.mock

The above is introduced into the Vue prototype, and you can use this.$mock to directly generate mock data

Please look here Vue.prototype

Please look here mockjs

During project development, the front and backend were separated and fake data was created. The project was reconstructed using vue2.0, and the backend was also pushed back. In order not to delay the development process, I made a virtual data request and used vue-cli scaffolding to build it. In the project file, dev-server builds a virtual api request and accesses the fake data of its own mock to request the background mode. The specific method is as follows

In the build/dev-server.js file

Add the following code below the instance of var app = express()

// 本地json-server服务器搭建代码
// 引入数据库文件
var appData = require('../mock.json')
// 引入数据库
var getBoardList = appData.getBoardList
var apiRoutes = express.Router()
// 使用api的方法来创建连接时候的请求
apiRoutes.post('/getBoardList', function (req, res) {
 res.json({
 errno: 0 ,
 data: getBoardList
 });
})
// 调用api
app.use('/api', apiRoutes)

The mock.json file that appData relies on is the fake data file of your own mock. You can mock it yourself or use mock.js to make fake data according to the front and backend requirements

getBoardList is an interface, var getBoardList = appData.getBoardList defines this interface data in appData.

var apiRoutes = express.Router() It creates an api routing. apiRoutes.post creates a post interface. This post interface has a req and a res parameter, which executes the request and returns respectively. When it returns, it will give us a json. This json includes a status codeerrno and the returned data data (data points to the interface data getBoardList).

Then when we call the api app.use('/api', apiRoutes), we can use this service normally

Here I used the axios request data recommended by vue2.0, the code is as follows

this.$http.post('/api/getBoardList')
 .then(function (response) {
  console.log(response.data.data);
  alert('成功了');
 })
 .catch(function (code) {
  alert('失败了');
  console.log(code);
 });

Open the network in the browser console, and you will find that a network request has been generated

At the same time, the data returned happily:

If you want to add interface data, just continue to add it in dev-server.js, post, get, etc. can be used.

Note that every time you change dev-server.js, you need to restart npm run devStart the project

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other php Chinese websites related articles!

Recommended reading:

Detailed explanation of the use of template strings in ES6

js implements conversion of milliseconds, days, hours, minutes and seconds

Detailed explanation of how to use the form validation function of Bootstrap

The above is the detailed content of How vue calls mock data. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn