5、axios请求、动画、组件、路由重定向、UI组件

一、axios请求

  • Axios是一个基于Promise的HTTP状态库,封装ajax。ajax包含axios
  • 安装
    • npm install axios
  • 引入
    • import axios form “axios”

1、get请求

<script>
// 1.本页面引入
import axios from "axios";

 data() {
    return {
      imgSrc: "",
//3.接受数组
      imgList: [],//用数组接受
    }
  },
  
 // 2.要在创建完成后  请求
  created() {
// console.dir(axios)//dir  查看结构                      传的参数
axios.get('https://***.com/weChat/applet/course/banner/list?number=3').then(res => {
     // console.log(res)

      console.log(res.data.data)//是一个数组
      this.imgList = res.data.data //数组  传递给data的imgList
    })
  }
}
</script>
<template>
  <div>
    <img :src="imgSrc" alt="">imgUrlPc
    <div v-for="item in imgList" :key="item.id">
        //显示数组的图片
      <img :src="item.imgUrlPc" alt="">
    </div>
  </div>
</template>

2、post请求

axios.post 默认请求头:application/json url 请求参数是 对象

image-20240328113526015

  • 1、在main.js里面引入 axios,挂载到原型上
// 引入axios
import axios from "axios";
Vue.prototype.$axios = axios
Vue.config.productionTip = false
  • 2、在别的页面可以用了
console.log(this.$axios)
  • 3.请求
 // axios.post  默认是application/json
    this.$axios.post('https://wkt.myhope365.com/weChat/applet/course/list/type', {
      type: 'free',
      pageNum: 1,
      pageSize: 5,
    }, {
      headers: {
        "Content-Type": 'application/x-www-form-urlencoded'
      }
    }).then(res => {
      console.log(res)
    })

3、axios封装

  • 在 src => api文件夹 => axios.js
  • 每次发送请求时携带一些信息,例如token
  • 对服务器返回的状态码进行处理,例如,状态码500,进行弹框提示“服务器错误”;状态码200,放行,执行下一步操作
  • 把里面的请求头写上
// 对http请求进行封装
import axios from 'axios'

// 使用自定义的配置文件发送请求
const instance = axios.create({
  baseURL: '',
  timeout: 5000,
  headers: {
      //请求头的内容
  }
});
// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
  instance// 对响应数据做点什么
  if(response.status === 200){
    return response.data;
  }else{
    console.error("请求错误")
    console.error(response)
  }
  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});

export default instance

二、动画

  • https://animate.style/
    npm install animate.css --save

  • 在main.js中引入

<!--动画组件 -->
import 'animate.css'
  • v-enter v-enter-to v-enter-active
  • v-leave v-leave-to v-leave-active
//用transition包起来
<transition>
  <div class="box" v-if="flag"></div>
</transition>
<style>
.v-enter{
  transform: translate(500px);
}
.v-enter-to{
  transform: translate();
}
.v-enter-active{
  transition: all 3s;
}
.leave{
  transform: translate(500px);
}
.v-leave-to{
  transform: translate();
}
.v-leave-active{
  transition: all 3s;
}
</style>

三、组件

  • 不用在路由里面配置
<script>
//2、引入组件
import headerCom from "@/components/headerCom.vue";
import swiperCom from "@/components/swiperCom.vue";

export default {
  name: "indexView",
  //1、添加components
  components: {
    headerCom,
    swiperCom
  }
}
</script>

<template>
  <div>
  <!--3、把组件当做标签名去使用-->
    <swiper-com></swiper-com>
    <!--4、可以起类名-->
    <header-com class= 'swiper'></header-com>
  </div>
</template>

1、 什么是组件

  • 为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可。

2、组件化和模块化区别

  • 模块化:从代码功能逻辑的角度划分,方便代码分层开发,保证每个功能模块的职能单一
  • 组件化:从UI组件化,前端的组件开发,方便UI组件的重用

3、为什么组件中的data

  • 数据隔离

4、例子

<script>
import TitleCom from "@/components/titleCom.vue";

export default {
  name: "indexView",
  //1、在首页中导入
  components: {TitleCom}
}
</script>
<template>
  <div>
  <!-- 2、在页面中把组件名当成标签使用 -->
        <title-com></title-com>
  </div>
</template>

4、组件动画

//点击按钮动画切换组件
    <button @click="flag =!flag">flag</button>
    <transition
            mode="out-in"
            name="custom-classes-transition"
            enter-active-class="animate__animated animate__fadeInUp "
            leave-active-class="animate__animated animate__zoomOutUp"
    >
      <swiper-com v-if="flag"></swiper-com>
      <header-com v-else></header-com>
    </transition>

四、路由

路由重定向

  • 在index.js 页面
  {
    path:'/',
    redirect:'/filter'
  },
  • redirect

路由高亮

  • 在 App.vue 页面
    image-20240329194634445

  • 设置路由

  • image-20240329194739715

  • router-link-active

五、UI组件

  • npm i --save ant-design-vue@1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/501125.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot+vue的高校科研信息管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue的高校科研信息管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#x…

C++:list类

list的介绍 1. list 是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代 2. list 的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。 3. list 与 …

蓝桥杯物联网竞赛_STM32L071_13_定时器

CubeMx配置LPTIM: counts internal clock events 计数内部时钟事件 prescaler 预分频器 updata end of period 更新期末 kil5配置&#xff1a; 中断回调函数完善一下&#xff1a; void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim){if(cnt ! 10) cnt…

算法——动态规划:01背包

原始01背包见下面这篇文章&#xff1a;http://t.csdnimg.cn/a1kCL 01背包的变种&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 简化一…

数据结构:单调栈和单调队列

文章目录 一、单调栈1.1、栈的思想1.2、单调栈1.2.1、单调栈的基本应用&#xff1a;找出数组中每个元素右侧第一个更大的元素1.2.2、单调栈的基本应用&#xff1a;找出数组中每个元素左侧第一个更大的元素1.2.3、单调栈拓展1.2.4、单调栈LeetCode题单 二、单调队列2.1、队列的思…

【chemistry 5】脂类代谢、氨基酸代谢、核酸代谢

&#x1f31e;欢迎来到生物化学的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f4c6;首发时间&#xff1a;&#x1f339;2024年3月29日&…

Discourse 用户可以自己修改用户名吗

Discourse 是可以修改用户名的&#xff0c;但用户修改自己的用户名会有时间的限制。 这是因为根据官方的说法就是当用户修改用户名后可能会导致内容的失效等问题。 在默认的安装配置下&#xff0c;用户可以在完成注册后的 3 天自己对用户名进行修改。 3 天以后&#xff0c;用…

【CASS精品教程】CASS11台阶画法大全

文章目录 一、无边台阶二、有边台阶三、圆弧无边台阶四、U型台阶五、曲线U型台阶六、L型台阶一、无边台阶 点击【居民地】→【房屋附属】→【台阶】: 选择【两点边】即可。 两点边的绘制方法是,依次点击四个点,或者点击三个点后空格,注意台阶缺口(有白色线条)为下。 四…

HarmonyOS实战开发-Stage模型下Ability的创建和使用

介绍 本篇Codelab基于Stage模型&#xff0c;对Ability的创建和使用进行讲解。首先在课程中我们将带领大家使用DevEco Studio创建一个Stage模型Ability&#xff0c;并使用UIAbilityContext启动另一个Ability&#xff0c;然后借助Want&#xff0c;在Ability之间传递参数&#xf…

基于SpringBoot的“财务管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“财务管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 系统登录界面图 管理员功能界面图…

Deepspeed、ZeRO、FSDP、ZeRO-Offload、all reduce、reduce-scatter

Transformer为基础的大模型应该如何并行 数据并行。但是如果模型太大放不到一块卡上就没用了。为了解决把参数放到一块卡上的问题&#xff0c;演进出了论文Zero的思想&#xff0c;分为Zero-DP和Zero-R两部分。Zero-DP是解决Data parallel的问题&#xff0c;并行过程中内容不够…

Plecs电力电子仿真专业教程-软件操作

Plecs仿真软件基本操作方法&#xff1a; 从连线中引出线&#xff1a;Ctrl 鼠标左键 设置元件参数&#xff1a;双击元件&#xff0c;进行设置&#xff0c;若要显示参数&#xff0c;则在参数后的方框打勾。 CTRL E ---- 仿真参数设置 Ctrl T -----开始仿真 CtrlF …

如何检查电脑的最近历史记录?这里提供详细步骤

如果你怀疑有人在使用你的计算机,并且你想查看他们在做什么,下面是如何查看是否有访问内容的痕迹。 如何检查我的计算机的最近历史记录 要检查计算机的最近历史记录,应该从web浏览器历史记录开始,然后移动到文件。但是,可以修改或删除浏览器历史记录,也可以隐藏Windows…

Redis 和 Mysql 数据库数据如何保持一致性????

1、前言 我们在实际项目中经常会使用到Redis缓存用来缓解数据库压力&#xff0c;但是当更新数据库时&#xff0c;如何保证缓存及数据库一致性&#xff0c;一般我们采用延时双删策略。 目前系统中常用的做法是一个查询接口&#xff0c;先查询Redis&#xff0c;如果不存在则查询…

Vue——案例01(查询用户)

一、案例实现页面 二、案例实现效果 1. 查询效果 2. 年龄升序 3. 年龄降序 4. 原顺序 三、案例实现思路 1. 定义界面所需标签样式 <div id"app"><h2>查询用户:</h2><input type"text" placeholder"请输入名字"/><b…

RabbitMQ高级笔记

视频链接&#xff1a;【黑马程序员RabbitMQ入门到实战教程】 文章目录 1.发送者的可靠性1.1.生产者重试机制1.2.生产者确认机制1.3.实现生产者确认1.3.1.开启生产者确认1.3.2.定义ReturnCallback1.3.3.定义ConfirmCallback 2.MQ的可靠性2.1.数据持久化2.1.1.交换机持久化2.1.2.…

Python基础之函数

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1.收集函数2.收集关键字函数3.分配关键字函数4.调用自己编写的模块函数5.匿名函数lambda6.lambda函数和filter函数联用7.lambda函数和map函数联用 前言 1.收集…

SQL109 纠错4(组合查询,order by..)

SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_state MI UNION SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_state IL ORDER BY cust_name;order by子句&#xff0c;必须位于最后一条select语句之后

社交网络的未来:Facebook如何塑造数字社交的下一章

引言 社交网络已成为我们生活中不可或缺的一部分&#xff0c;而Facebook作为其领军者&#xff0c;一直在塑造着数字社交的未来。本文将深入探讨Facebook在未来如何塑造数字社交的下一章&#xff0c;并对社交网络的发展趋势进行展望和分析。 1. 引领虚拟社交的潮流 Facebook将…

Nuxt v4 即将到来!2024 年 Nuxt 发展方向和想法

在 2023 年里&#xff0c;Nuxt 发生了很多事情。 Sbastien 和 Daniel 分享了他们对 Nuxt 所取得的成就以及下一步的发展方向的看法。 2023 年回顾 - Sbastien 2023 年 1 月&#xff0c;Daniel 提出了 Nuxt&#xff1a;2023 年愿景。我们实现了设定的大部分目标。其中一些缺失…