Vue 3:玩一下web前端技术(六)

这篇具有很好参考价值的文章主要介绍了Vue 3:玩一下web前端技术(六)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本章内容为VUE请求后端技术与相关技术讨论。

上一篇文章地址:

Vue 3:玩一下web前端技术(五)_Lion King的博客-CSDN博客

下一篇文章地址:

Vue 3:玩一下web前端技术(七)_Lion King的博客-CSDN博客

一、请求后端技术

1、使用Mock.js模拟后端数据,用于内部调用

Mock.js 是一个前端开发模拟数据的库,可以帮助我们在前端开发过程中快速生成模拟数据。以下是使用 Mock.js 的步骤:

(1)安装

npm install mockjs --save-dev

(2)创建存放位置

Vue 3:玩一下web前端技术(六),web前端技术,前端,vue.js,javascript

 (3)编写接口

/* eslint-disable */
import Mock from 'mockjs';
const apidata = Mock.mock({
  'list|1-10': [{
    'id|+1': 1,
    'name': '@cname',
    'age|18-60': 1
  }]
});
export default apidata

这个语句,定义了模拟数据规则,即可以生成一个包含 1 到 10 个对象的数组,每个对象包含一个 id、一个随机的中文名字和一个年龄(18 到 60 之间)。

(4)在App.vue中引用模拟数据

<template>
  <div>
    <ul>
      <li v-for="item in list" :key="item.id">
        <span>{{ item.name }}</span>
        <span>{{ item.age }}</span>
      </li>
    </ul>
  </div>
</template>

<script>
import apidata from '@/mock/apiMock.js';

export default {
  data() {
    return {
      list:apidata.list
    }
  },
}

</script>

<style>

</style>

这样就可以在网页上显示这些数据了:

Vue 3:玩一下web前端技术(六),web前端技术,前端,vue.js,javascript

2、将内部调用改成http调用

apiMock.js

/* eslint-disable */
import Mock from 'mockjs';
Mock.mock('/apidat/list', "get", {
  'list|1-10': [{
    'id|+1': 1,
    'name': '@cname',
    'age|18-60': 1
  }]
});

3、实现http请求

(1)安装axios

npm install axios

(2)修改App.vue文件

<template>
  <div>
    <ul>
      <li v-for="item in list" :key="item.id">
        <span>{{ item.name }}</span>
        <span>{{ item.age }}</span>
      </li>
    </ul>
  </div>
</template>

<script>
import './mock/apiMock'
import axios from 'axios'


export default {
  data() {
    return {
      // list:[{"id":1, "name":"王婆", "age":100}],
      list:[],
    }
  },
  methods: {
  fetchData() {
    axios.get('/apidata/list')
      .then(response => {
        this.list=response.data.list
        console.log(this.list)
      })
      .catch(error => {
        console.error(error)
      })
  }},
  mounted() {
  this.fetchData()
}
}

</script>

<style>

</style>

这段代码使用axios库从一个API获取数据,但这个数据被导入的 ./mock/apiMock 拦截掉了。

在模板(`<template>`)部分,有一个`<ul>`元素,里面包含使用`v-for`指令遍历`list`数组中的每个元素,生成一个`<li>`元素。每个`<li>`元素包含两个`<span>`元素,分别展示`item.name`和`item.age`的值。

在`<script>`部分,首先导入了`./mock/apiMock`和axios库。然后,在`data()`方法中定义了一个`list`数组,初始值为空数组。在`methods`对象中定义了一个`fetchData()`方法,用于发送GET请求到`/apidata/list`接口,获取数据并将返回结果赋值给`list`数组。`mounted()`生命周期钩子调用了`fetchData()`方法,在组件被挂载后自动调用该方法。

这段代码的作用是通过发送GET请求到指定的接口,获取数据并在页面中展示。注意,导入./mock/apiMock ,axios的请求将先经过./mock/apiMock,如果请求路径等信息与Mock一致,请求将会直接获取Mock的数据。

二、相关技术讨论

1、js文件中的/* eslint-disable */有什么作用?

在JavaScript文件中,/* eslint-disable */是一个特殊的注释,用于禁用ESLint对该注释范围内代码的检查和报错。

ESLint是一种用于检查和识别JavaScript代码中潜在问题的工具。它可以发现语法错误、代码风格问题、潜在的bug等。通过在代码中添加/* eslint-disable */注释,您可以告诉ESLint跳过该注释范围内的代码检查。

这在某些情况下非常有用,例如:知道某段代码违反了ESLint规则,但有特殊的原因需要保留它时,就可以使用/* eslint-disable */注释来暂时禁用该代码的检查。

2、为什么赋值是为this.list=response.data.list

因为接口是一个字典,里面包裹了list这个key,因此访问列表时需要直接获取其属性。

3、'@/mock/apiMock.js'的@是什么意思?

@表示让当前文件所在目录为根目录,而不是以相对路径的方式(“./”、"../")查询

4、console.log(this.list)有什么用?

用处很大,他会将this.list直接打印到网页上的console中,方便调试 ,像这样:

Vue 3:玩一下web前端技术(六),web前端技术,前端,vue.js,javascript文章来源地址https://www.toymoban.com/news/detail-618598.html

到了这里,关于Vue 3:玩一下web前端技术(六)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包