位置: IT常识 - 正文

如何在 Vue.js 中使用 Axios(vue.js in action)

编辑:rootadmin
如何在 Vue.js 中使用 Axios

推荐整理分享如何在 Vue.js 中使用 Axios(vue.js in action),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue中写jsx,vue.js放在哪,vue.js使用教程,vue中怎么引入js文件,vue.js computed,vue.js放在哪,vue.js如何使用,vue.js如何使用,内容如对您有帮助,希望把文章链接给更多的朋友!

Axios是一个基于 Promise 的 HTTP 客户端库,适用于浏览器和 Node.js 应用程序,这意味着它可以在前端 JavaScript 应用程序和后端 Node 服务器中使用。

在本文中,我们将了解如何在一个简单的Vue.js应用程序中使用 Axios。Vue 是一个简单的前端 JavaScript 框架,因此这里的 Axios 用例将用于浏览器。

我们将涵盖:

本教程使用 Axios 和 Vue.js 的先决条件

设置我们的 Vue.js 项目

将 Axios 添加到我们的 Vue.js 应用程序

在 Vue.js 组件中通过简单的导入使用 Axios

通过创建插件在我们的 Vue.js 项目中使用 Axios

本教程使用 Axios 和 Vue.js 的先决条件

要继续,您需要安装以下内容:

Node.js v14 或更新版本

JavaScript 包管理器

您选择的 IDE 或文本编辑器,例如 Sublime Text 或Visual Studio Code

我们将使用 npm 作为我们的 JavaScript 包管理器,安装 Node.js 时会包含它。

设置我们的 Vue.js 项目

我们将使用 Vue CLI 创建我们的项目,首先运行以下命令:

$ npm init vue@latest

该命令提示我们选择如何设置我们的项目。

我选择为这个项目命名是mice-away因为——你猜对了——我们正在构建一个有趣的与猫相关的应用程序!我们还将设置它以使用 TypeScript。

如何在 Vue.js 中使用 Axios(vue.js in action)

这是一个Vue查看(我忍不住)我的项目配置;随意更改您的喜好:

超过 20 万开发人员使用 LogRocket 来创造更好的数字体验了解更多 →

Axios 通过各自名称的函数提供对不同 HTTP 方法的访问。例如,可以用于.post(…)POST 请求,也可以用于.get(…)GET 请求等。让我们看看在我们的 Vue 项目中使用 Axios 处理 HTTP 请求的选项!

将 Axios 添加到我们的 Vue.js 应用程序

我们可以通过运行以下命令来安装 Axios:

$ npm i axios

现在已经安装了 Axios,我们将看看在我们的项目中使用它的两种方法。

在 Vue.js 组件中通过简单的导入使用 Axios

您可以在 Vue 组件中使用 Axios,只需将其导入需要发出 HTTP 请求的组件中即可。这是一个例子:

// AnimalFacts.vue​​<模板>    <div class="行">        <div class="col-md-12">            <h3>猫的事实</h3>        </div>        <div class="col-md-12">            <ul class="list-group">                <li v-for="(fact, index) in catFacts" :key="index" class="list-group-item">{{index + 1}}。{{fact.text}}</li>            </ul>        </div>        <div class="row mt-3">            <div class="col-md-12 text-center">                <button @click="loadMoreFacts" class="btn btn-md btn-primary">{{ fetchingFacts ? '...' : '加载更多' }}</button>            </div>        </div>    </div></模板><script lang="ts">    从'vue'导入{defineComponent}    从'axios'导入axios    接口动物事实{        文本:字符串   }    导出默认定义组件({        名称:'AnimalFacts',        数据() {            返回 {                catFacts: [] 作为 AnimalFacts[],                fetchingFacts:假           }       },        方法: {            异步 fetchCatFacts() {                const catFactsResponse = await axios.get<AnimalFacts[]>('https://cat-fact.herokuapp.com/facts/random?animal_type=cat&amount=5')                this.catFacts = catFactsResponse.data           },            异步加载更多事实(){                this.fetchingFacts = true                const catFactsResponse = await axios.get<AnimalFacts[]>('https://cat-fact.herokuapp.com/facts/random?animal_type=cat&amount=5')                this.catFacts.push(...(catFactsResponse.data || []))​                this.fetchingFacts = false           }       },        异步安装(){            等待 this.fetchCatFacts()       }   })</脚本>

在这个示例中,我们在组件中导入了 Axios,并在其中一个组件方法中使用它,通过调用该方法来获取数据以显示在页面上GET。您可以在下面看到此方法的结果:

通过创建插件在我们的 Vue.js 项目中使用 Axios

在我们的项目中使用 Axios 的另一个选择是创建一个插件并为我们的项目分配一个全局 Axios 实例。当您构建应用程序以使用特定 API(可将其配置为基本 URL)时,此选项很有用。

让我们创建我们的 Axios 插件!

首先,我们将通过在终端中运行以下命令来创建一个目录来存放我们的插件:

$ cd src/$ mkdir 插件

接下来,我们将通过在终端中运行以下命令来创建我们的 Axios 插件文件axios.ts:

柒核免费工具箱App,日常必备聚合工具软件,满足你日常所需!来自 LogRocket 的更多精彩文章:

不要错过来自 LogRocket 的精选时事通讯The Replay

使用 React 的 useEffect优化应用程序的性能

在多个 Node 版本之间切换

了解如何使用 AnimXYZ 为您的 React 应用程序制作动画

探索 Tauri,一个用于构建二进制文件的新框架

比较NestJS 与 Express.js

发现TypeScript 领域中使用的流行 ORM

$ 触摸 axios.ts

然后,在我们新创建的axios.ts文件中,我们将创建一个 Axios 实例并使其成为全局属性:

// axios.ts​从'axios'导入axios从“vue”导入类型 {App}​接口 AxiosOptions {    baseUrl?: 字符串    令牌?:字符串}​导出默认 {    安装:(应用程序:应用程序,选项:AxiosOptions)=> {        app.config.globalProperties.$axios = axios.create({            baseURL:options.baseUrl,            标题:{                授权:options.token ? `承载 ${options.token}` : '',            }        })    }}

现在,我们将我们的插件注册到我们的 Vue 实例中main.ts。在注册我们的 Axios 插件时,我们将传入实例选项,包括我们的baseUrl:

// main.ts​从'vue'导入{createApp}从'pinia'导入{createPinia}​从 './App.vue' 导入应用程序从'./router'导入路由器从 './plugins/axios' 导入 axios​const app = createApp(App)​app.use(createPinia())app.use(路由器)app.use(axios, {    baseUrl: 'https://cataas.com/',})​app.mount('#app')

现在我们已经注册了 Axios,我们有一个全局的 Axios 对象可以作为this.$axios. 让我们在我们的组件中使用它:

// HomeView.vue​<脚本设置 lang="ts"></脚本><模板>  <主>    <div class="行">      <div class="col-md-12 text-center mb-3">        <span @click="selectTag(tag)" v-for="(tag, index) in visibileTags" :key="index"          class="badge rounded-pill fs-5 me-2" :class="[tag === activeTag ? 'text-bg-primary' : 'text-bg-secondary']">            #{{标签}}        </span>        <span @click="showNext()" class="badge rounded-pill text-bg-light fs-4">...</span>      </div>    </div>    <div v-if="catImage" class="row">      <div class="col-md-12 text-center">        <img :src="catImage" class="img-fluid" height="500" width="450" :alt="activeTag ?? '默认图片'">      </div>    </div>  </main></模板><script lang="ts">从'vue'导入{defineComponent}从“axios”导入类型 {AxiosInstance}​
本文链接地址:https://www.jiuchutong.com/zhishi/297340.html 转载请保留说明!

上一篇:echarts柱状图坐标轴的内容太长导致显示不全的两种解决办法(echarts柱状图坐标轴)

下一篇:蓝桥杯web开发-5道模拟题让你信心满满(蓝桥杯web开发 618)

  • python正则表达式提取文本

    python正则表达式提取文本

  • 支付宝小微商户怎样申请二维码(支付宝小微商户怎么注销)

    支付宝小微商户怎样申请二维码(支付宝小微商户怎么注销)

  • wacom可以连手机吗(wacom可以连接平板吗)

    wacom可以连手机吗(wacom可以连接平板吗)

  • 华为nova6发热严重(华为nova6发热问题)

    华为nova6发热严重(华为nova6发热问题)

  • 新买的手机发热正常吗(新买的手机发热可以退换吗)

    新买的手机发热正常吗(新买的手机发热可以退换吗)

  • vivo怎么关闭温度保护(vivo手机怎样关闭温度保护)

    vivo怎么关闭温度保护(vivo手机怎样关闭温度保护)

  • iphone11max和xsmax膜通用吗

    iphone11max和xsmax膜通用吗

  • 家人共享能看到微信聊天吗(家人共享能看到相册吗)

    家人共享能看到微信聊天吗(家人共享能看到相册吗)

  • 华为手机的截屏怎么截屏(华为手机的截屏设置在哪里)

    华为手机的截屏怎么截屏(华为手机的截屏设置在哪里)

  • boss直聘会查看访客记录吗(boss直聘查看面试结果对方知道吗)

    boss直聘会查看访客记录吗(boss直聘查看面试结果对方知道吗)

  • fx8300配什么主板(fx8300cpu配什么主板)

    fx8300配什么主板(fx8300cpu配什么主板)

  • 苹果手机的优势在哪里(苹果手机的优势在哪里知乎)

    苹果手机的优势在哪里(苹果手机的优势在哪里知乎)

  • oppoa11和oppoa11x手机壳通用吗(oppoa11x和oppo11的区别)

    oppoa11和oppoa11x手机壳通用吗(oppoa11x和oppo11的区别)

  • word文档数字间距怎么设置(word文档数字间隔太宽怎么办)

    word文档数字间距怎么设置(word文档数字间隔太宽怎么办)

  • 苹果c6是哪里产的(苹果c6k开头是哪里生产的)

    苹果c6是哪里产的(苹果c6k开头是哪里生产的)

  • 支付宝实名认证上限怎么办(支付宝实名认证可以更改吗)

    支付宝实名认证上限怎么办(支付宝实名认证可以更改吗)

  • 手机酷狗歌词显示方式(手机酷狗音乐歌词显示不在中间)

    手机酷狗歌词显示方式(手机酷狗音乐歌词显示不在中间)

  • 微博怎么一键删除所有微博(微博怎么一键删除动态)

    微博怎么一键删除所有微博(微博怎么一键删除动态)

  • excel表格换行怎么换(excel表格换行怎么做)

    excel表格换行怎么换(excel表格换行怎么做)

  • x27vivo摄像头如何升降(vivo x27摄像头)

    x27vivo摄像头如何升降(vivo x27摄像头)

  • 三星s10需要贴膜吗(三星s10需要贴膜不)

    三星s10需要贴膜吗(三星s10需要贴膜不)

  • 华为畅享9e有红外线功能吗(华为畅享9s红色)

    华为畅享9e有红外线功能吗(华为畅享9s红色)

  • 全民K歌如何开直播(全民k歌如何开通公爵贵族)

    全民K歌如何开直播(全民k歌如何开通公爵贵族)

  • iphonexr基带是高通的吗(iphonexr基带多少钱)

    iphonexr基带是高通的吗(iphonexr基带多少钱)

  • 微视如何加v(微视如何加商品橱窗)

    微视如何加v(微视如何加商品橱窗)

  • Macbook发热严重怎么办?Macbook拆机清灰图文教程(macbook发热会烧坏吗)

    Macbook发热严重怎么办?Macbook拆机清灰图文教程(macbook发热会烧坏吗)

  • mac双系统怎么删除一个?苹果mac双系统删除win7方法图文步骤(mac双系统怎么删除win系统)

    mac双系统怎么删除一个?苹果mac双系统删除win7方法图文步骤(mac双系统怎么删除win系统)

  • 文件夹正在使用无法删除解决方法(文件夹正在使用,操作无法完成)

    文件夹正在使用无法删除解决方法(文件夹正在使用,操作无法完成)

  • GWX.exe是什么进程?GWX.exe可以删除吗?(zmweb.exe是什么进程)

    GWX.exe是什么进程?GWX.exe可以删除吗?(zmweb.exe是什么进程)

  • Win11 Beta 渠道首个预览版将在月底发布(windows11 beta渠道)

    Win11 Beta 渠道首个预览版将在月底发布(windows11 beta渠道)

  • 使用alist将云盘映射为WebDAV(阿里云盘 icloud)

    使用alist将云盘映射为WebDAV(阿里云盘 icloud)

  • JavaScript(WebAPI)+具体案例

    JavaScript(WebAPI)+具体案例

  • Python中numpy数组如何添加元素(python中numpy数组和列表的区别)

    Python中numpy数组如何添加元素(python中numpy数组和列表的区别)

  • 利润表的期末余额
  • 受托代销商品和受托代销商品款怎么列示
  • 递延所得税资产计算公式
  • 软件和硬件可以用什么代名词
  • 企业所得税年度申报表A类
  • 研发投入大
  • 总公司给分公司开发票
  • 对方承担税差该如何入账?
  • 货发出款未收的会计分录怎么做?
  • 存货和应付账款
  • 政府机关有纳税识别号吗
  • 股权转让涉及的印花税
  • 没有收款人复核人的发票能报销吗
  • 生活用品发票可以报销吗
  • 增值税普通发票和普通发票的区别怎么交税
  • 电商企业收入成本如何核算
  • 产品种类很多月末怎么结转生产成本
  • 财务软件里凭证打印如何设置不打印三级科目
  • 国内废钢贸易需要资质吗
  • 认购价和发行价的差价
  • 出口视同内销补缴增值税会计分录?
  • 出口退税系统中的出口货物已补税未退税证明怎么填
  • 甲方代付农民工工资合同
  • 增值税红字发票开具
  • 代扣代缴的增值税可以作为进项税抵扣吗
  • 金钱树的养殖方法和浇水方式
  • 制造费用结转到生产成本
  • php string函数
  • 城建税的会计账务处理
  • 增值税红字专用发票什么意思
  • 微信小程序解决跨域问题
  • 企业租赁不动产税率
  • 土地出让金抵减增值税账务处理
  • javascript js
  • 这年头不好混图片
  • super命令linux
  • laravel 自定义guard
  • ps中分辨率
  • 物流公司开几个点的发票
  • 增值税电子发票怎么下载
  • 母公司给我们减工资
  • 加速折旧法是指在固定资产使用的早期少提折旧
  • MySQL/Postgrsql 详细讲解如何用ODBC接口访问MySQL指南
  • 建筑行业现在还能斤不
  • 定额转查账征收
  • 融资租赁算非标业务吗
  • 企业自建房产提款流程
  • 发生销售折让的双方应做的会计分录是
  • 借款合同相关法条
  • 实际上缴税费总额怎么算
  • 办理社会保险需要什么材料
  • 其他业务收入的现金流量项目
  • 固定资产清理账户借方
  • mysql的增删改查命令
  • mysql日志记录
  • 动态sql中返回数组的值
  • win7开关机时间设置
  • win8无线网受限
  • ubuntu-desktop启动
  • 怎样开启bios
  • windows7的所有操作都可以从( )
  • win10预览版bug
  • 淘宝下载电脑
  • 怎么在手机上买股票开户
  • win10怎么将桌面图标变小
  • 手机摇一摇插件
  • 我是如何从0开始做到年入1000+万的
  • django 不同app间model引用
  • shell编程简单实例
  • 自定义dialogfragment
  • 抛物线动画演示视频
  • js行号显示的文字不一样
  • 现在的微信怎么用脚本登陆了
  • 深圳电子税务局税种启用在哪里
  • 宁夏电子税务局登录入口
  • 江苏税务怎么在手机上办
  • 仓储用地和物流用地划分
  • 转让专利权取得的所得属于财产转让所得吗
  • 农村墓地规划土地使用程序和规定
  • steam充值码生成
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设