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

当我们在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日

相关文章

  • 使用Vue调取接口,并渲染数据的示例代码

    下面是使用Vue调取接口并渲染数据的完整攻略。 一、准备工作 在开始之前,需要确保您已经装好了Node.js和Vue-cli。如果还没有安装,可以前往官网进行下载和安装。 二、创建Vue项目 在命令行中输入以下命令创建Vue项目: vue create my-project 这里创建的项目名为my-project。在创建项目的过程中,可以选择使用defaul…

    Vue 2023年5月28日
    00
  • Vuex模块化和命名空间namespaced实例演示

    下面是关于Vuex模块化和命名空间namespaced实例演示的详细讲解: 什么是Vuex模块化? 在一个大型的Vue项目中,为了更好地管理应用状态,我们需要把Vuex中的各个部分拆分成多个模块。这样做的好处是让各个部分相对独立,以便更好地维护和扩展。 模块化让我们可以使用Vuex.Store构造函数中的modules属性来构建多个子模块。每个子模块都拥有自…

    Vue 2023年5月28日
    00
  • 从vue基础开始创建一个简单的增删改查的实例代码(推荐)

    下面我将详细讲解如何从Vue基础开始创建一个简单的增删改查的实例代码: 1. 创建基于Vue的前端项目 在创建Vue的前端项目时,需要先安装Vue的脚手架工具Vue CLI。具体安装方法可以参考官方文档:Vue CLI 安装文档。 安装完成后,打开命令行工具,进入到项目存放的目录下,使用以下命令创建一个新的Vue项目: vue create my-proje…

    Vue 2023年5月28日
    00
  • Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)

    我会提供一份详细的攻略以帮助你理解“Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)”。 首先,我们来理解下树形结构数据的基本概念。树形结构是一种数据结构,它的形态类似于树,有根节点和分支结构,每个分支都可以有子节点。树形结构广泛应用于各种领域,例如文件存储、组织结构管理、流程图等领域。 在Vue组件模板形式中实现对象数组数据循环为树形结构,我们…

    Vue 2023年5月28日
    00
  • Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示

    下面是关于“Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示”的完整攻略: 1. 确定需求和设计方案 在编写Vue日历组件之前,我们需要先确认我们的需求和设计方案。首先,我们需要支持周模式和月模式的日历显示,同时还需要支持自定义日历内容的显示。为了实现这些需求,我们可以考虑使用如下设计方案: 使用Vue.js框架编写日历组件,使用组件的方式实现周…

    Vue 2023年5月29日
    00
  • vue+axios+promise实际开发用法详解

    vue+axios+promise实际开发用法详解 什么是axios和promise axios axios是一个基于Promise用于浏览器和node.js的HTTP客户端。它具有以下特征: 支持浏览器和 node.js 支持 Promise API 拦截请求和响应 转换请求和响应数据 Promise Promise是一种用于异步编程的语言特性,它可以让我…

    Vue 2023年5月28日
    00
  • vue仿网易云音乐播放器界面的简单实现过程

    下面是使用Vue实现仿网易云音乐播放器界面的简单实现过程的完整攻略: 1. 准备工作 在开始实现过程之前,我们需要准备一些必要的工作。 1.1. 安装必要的依赖 在开始编写代码之前,我们需要安装一些必要的依赖,包括Vue和Vue CLI。如果您还没有安装这些依赖,请按照以下步骤进行安装: 安装Node.js和npm。 在终端中运行以下命令安装Vue CLI:…

    Vue 2023年5月28日
    00
  • vue实现简单跑马灯效果

    接下来我将详细讲解如何使用Vue.js来实现简单跑马灯效果。 简介 跑马灯效果是一种常见的网页动效,指在页面上呈现一段文字或图片等内容循环滚动的效果。Vue.js是一款流行的JavaScript框架,提供了许多方便的工具和API,用于处理前端视图的更新和渲染。结合Vue.js的数据绑定和渲染功能,可以很容易地实现跑马灯的效果。 实现步骤 下面是实现跑马灯效果…

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