vue3中调用api接口实现数据的渲染以及详情方式

yizhihongxing

当我们在Vue 3中进行开发时,我们通常需要与后端API进行数据交互。这里提供一个完整的攻略,帮助开发者学习如何在Vue 3中调用API接口实现数据的渲染以及详情方式。

步骤一:安装和引入axios

Axios是一个流行的网络请求库,我们可以通过npm命令来安装:

npm install axios

在Vue 3中,我们通常通过在main.js中全局引入axios来使用它:

import { createApp } from 'vue'
import App from './App.vue'
import axios from 'axios'

const app = createApp(App)
app.config.globalProperties.$axios = axios
app.mount('#app')

上面的代码将axios绑定到Vue的全局属性$axios,使得在项目的任何组件中都可以通过this.$axios来使用它。

步骤二:调用API接口

教程中的实例使用mock数据,并提供两个API接口,一个用于获取文章列表,另一个用于获取文章详情。

1. 获取文章列表

我们可以使用如下的代码来调用API接口来获取文章列表:

export default {
  data() {
    return {
      articles: []
    }
  },
  mounted() {
    this.loadArticles()
  },
  methods: {
    async loadArticles() {
      try {
        const response = await this.$axios.get('/api/articles')
        this.articles = response.data
      } catch (error) {
        console.error(error)
      }
    }
  }
}

在上面的代码中,我们使用了data()方法来定义一个articles数组来存储获取到的文章列表。在组件的mounted()方法中,我们调用this.loadArticles()来加载文章列表。

loadArticles()方法中,我们通过this.$axios来发起一个GET请求,获取到文章列表数据,并通过response.data来获取到响应的数据。最后我们将数据存储到articles数组中。

如果请求发生错误,我们通过catch语句来捕获错误,并使用console.error()来输出错误信息。

2. 获取文章详情

我们可以使用如下的代码来调用API接口来获取文章详情:

export default {
  data() {
    return {
      article: null
    }
  },
  mounted() {
    this.loadArticle()
  },
  methods: {
    async loadArticle() {
      try {
        const response = await this.$axios.get(`/api/articles/${this.$route.params.id}`)
        this.article = response.data
      } catch (error) {
        console.error(error)
      }
    }
  }
}

在上面的代码中,我们使用了data()方法来定义一个article变量来存储获取到的文章详情。在组件的mounted()方法中,我们调用this.loadArticle()来加载文章详情。

loadArticle()方法中,我们通过$route.params.id来获取到访问路径中的参数id,并使用它来构造API请求的URL。然后我们通过this.$axios来发起一个GET请求,获取到文章详情数据,并通过response.data来获取到响应的数据。最后我们将数据存储到article变量中。

如果请求发生错误,我们通过catch语句来捕获错误,并使用console.error()来输出错误信息。

步骤三:展示数据

下面是一个展示文章列表的示例:

<template>
  <div>
    <h2>文章列表</h2>
    <ul>
      <li v-for="article in articles" :key="article.id">
        <router-link :to="'/articles/' + article.id">{{ article.title }}</router-link>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      articles: []
    }
  },
  mounted() {
    this.loadArticles()
  },
  methods: {
    async loadArticles() {
      try {
        const response = await this.$axios.get('/api/articles')
        this.articles = response.data
      } catch (error) {
        console.error(error)
      }
    }
  }
}
</script>

在上面的代码中,我们使用了v-for指令来遍历articles数组,并使用:key来指定唯一的键。在列表项中,我们使用router-link来跳转到文章详情页,并通过:to来指定路径。

下面是一个展示文章详情的示例:

<template>
  <div>
    <h2>{{ article.title }}</h2>
    <p>{{ article.content }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      article: null
    }
  },
  mounted() {
    this.loadArticle()
  },
  methods: {
    async loadArticle() {
      try {
        const response = await this.$axios.get(`/api/articles/${this.$route.params.id}`)
        this.article = response.data
      } catch (error) {
        console.error(error)
      }
    }
  }
}
</script>

在上面的代码中,我们使用了双括号语法{{ }}来展示article.titlearticle.content的值,并使用v-if指令来确保数据已经加载。我们通过$route.params.id来获取到访问路径中的参数id,并使用它来构造API请求的URL。在组件的mounted()方法中,我们调用this.loadArticle()来加载文章详情。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue3中调用api接口实现数据的渲染以及详情方式 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 使用uni-app开发微信小程序的实现

    使用 uni-app 开发微信小程序的实现,需要考虑以下几个步骤: 安装uni-app环境 首先需要下载安装HBuilderX开发工具,HBuilderX 集成了uni-app开发需要的所有功能模块和工具,同时也内置了微信小程序 IDE,方便我们进行开发和调试。 创建项目 在HBuilderX中创建一个uni-app项目。在创建项目的时候,需要选择 uni-…

    Vue 2023年5月27日
    00
  • vue2.0实现列表数据增加和删除

    下面是 “Vue2.0 实现列表数据增加和删除” 的完整攻略。 一、vue2.0实现列表数据增加 1. 创建一个 Vue 实例 首先,创建一个 Vue 实例,本文将使用 Vue CLI 来方便构建项目。可以使用如下命令创建基于webpack-simple模板的Vue项目: vue init webpack-simple vue-list 2. 编写组件以及绑…

    Vue 2023年5月29日
    00
  • Vue中遍历数组的新方法实例详解

    下面我就为您详细讲解“Vue中遍历数组的新方法实例详解”。 介绍 在Vue 2.6.0版本以后,新增了一个数组方法v-for,它主要用于遍历一个数组并渲染每个数组元素。 v-for能够将一个数组映射为一组元素,并为每个元素执行一次模板,因此它的应用场景非常广泛,尤其在将复杂数据渲染到界面上时,更是体现了它的优势。 下面就重点介绍一下v-for在其中的应用。 …

    Vue 2023年5月28日
    00
  • Vue+elementUI实现动态展示列表的数据

    下面是我对“Vue+elementUI实现动态展示列表的数据”的完整攻略。 1. 确定需求 在开始实现之前,我们需要确定需求。首先需要明确要展示的列表数据是什么,包含哪些字段,每个字段对应表格中的哪一列。 例如,我们需要展示一个用户列表,包含了用户名、年龄、性别、地址等字段,需要在表格中展示这些字段内容,并提供排序、过滤等功能。 2. 安装依赖 确定需求之后…

    Vue 2023年5月29日
    00
  • 如何理解Vue的render函数的具体用法

    Vue的render函数是Vue的核心功能之一,它可以帮助我们实现更强大和自由度更高的组件化。如果你能够掌握Vue的render函数的具体用法,可以针对项目需求定制化你的组件,从而更好地实现业务需求。 以下是如何理解Vue的render函数的具体用法的完整攻略: 什么是Vue的render函数 Vue的render函数是一个高阶函数,它用来描述一个Vue组件…

    Vue 2023年5月27日
    00
  • Vue3 Axios拦截器封装成request文件的示例详解

    Vue3 Axios拦截器封装成request文件的示例详解 在Vue3项目中,我们通常会使用Axios来请求数据。为了增强代码的可维护性和重用性,我们可以将Axios的拦截器封装成一个request文件,方便统一管理和调用。下面是示例代码: request.js import axios from ‘axios’; import { getToken } …

    Vue 2023年5月28日
    00
  • vue加载天气组件使用方法详解

    Vue 加载天气组件使用方法详解 介绍 天气组件是一种在 Vue 应用程序中使用的开源组件,可以方便地向 Vue 应用中添加天气信息,并且使用简单。本文将介绍如何在 Vue 应用程序中使用天气组件。 安装 安装天气组件,可以通过 npm 包管理器来进行安装,命令如下: npm install vue-weather-widget –save 使用 在 Vu…

    Vue 2023年5月29日
    00
  • vue结合axios与后端进行ajax交互的方法

    Vue结合Axios与后端进行AJAX交互的方法攻略 前置条件 在开始正式讲解Vue结合Axios与后端进行AJAX交互的方法前,我们需要确保已经完成以下几个步骤: 安装Vue。这可以通过下面的命令来完成: npm install vue 安装Axios。同样,可以通过下面的命令来完成: npm install axios 确定后端接口的地址和数据格式。在使…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部