Vue-- Axios 交互(二)

Vue-- Axios 交互

文章目录

1.Vue.js 生命周期

生命周期钩子函数:

  • beforeCreate:data 和 el 未初始化

  • created:data 已初始化,el 未挂载

  • beforeMount:data 和 el 已初始化,未挂载到 DOM

  • mounted:挂载完成,常用发起请求、接收参数

  • beforeUpdate:数据更新前

  • updated:数据更新后

  • beforeDestroy:实例销毁前,仍可用

  • destroyed:实例销毁,解绑所有事件和子实例

    html 复制代码
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>vue生命周期</title>
        <script src="js/vue.min.js"></script>
        <script src="js/axios.min.js"></script>
    </head>
    <body>
        <div id="app">
            <h1>{{msg}}</h1>
            <input type="text" v-model="msg">
        </div>
        <script>
            var app=new Vue({
                el:"#app",
                data:{
                    msg:'hello'
                },
                beforeCreate:function(){
                    console.group('------beforeCreate创建前------');
                    console.log("el:"+this.$el);//undefined
                    console.log("data:"+this.$data);//undefined
                    console.log("msg:"+this.msg);//undefined
                },
                create:function(){
                    console.group('------create创建完------');
                    console.log("el:"+this.$el);//object HTMLDivElement]
                    console.log("data:"+this.$data);//[object Object]
                    console.log("msg:"+this.msg);//hello
                },
                beforeMount:function(){
                    console.group('------ beforeMount挂载前------');
                    console.log("el:"+this.$el);
                    console.log("data:"+this.$data);
                    console.log("msg:"+this.msg);
                },
                mounted:function(){
                    console.group('------ bmounted挂载后------');
                    console.log("el:"+this.$el);
                    console.log("data:"+this.$data);
                    console.log("msg:"+this.msg);
                },
                  beforeUpdate:function(){
                    console.group('------ beforeUpdate更新前------');
                    console.log("el:"+this.$el);
                    console.log("data:"+this.$data);
                    console.log("msg:"+this.msg);
                },
                    updated:function(){
                    console.group('------ bmounted挂载后------');
                    console.log("el:"+this.$el);
                    console.log("data:"+this.$data);
                    console.log("msg:"+this.msg);
                },
            
                  beforeDestory:function(){
                    console.group('------ beforeDestory销毁前------');
                    console.log("el:"+this.$el);
                    console.log("data:"+this.$data);
                    console.log("msg:"+this.msg);
                },
                  destoryed:function(){
                    console.group('------ destoryed销毁后------');
                    console.log("el:"+this.$el);
                    console.log("data:"+this.$data);
                    console.log("msg:"+this.msg);
                }
            });
        </script>
    </body>
    </html>

2.Axios 拦截器

全局拦截器:

  • 在请求发送前或响应返回前拦截处理

示例:

javascript 复制代码
// 请求拦截
axios.interceptors.request.use(config => {
  console.log("发送前...");
  return config;
}, err => {
  return Promise.reject(err);
});

// 响应拦截
axios.interceptors.response.use(config => {
  console.log("响应后...");
  return config;
}, err => {
  return Promise.reject(err);
});

3.Vue.js 过滤器

作用:

  • 对插值表达式 {``{ }} 中的数据进行格式化
  • 本质是一个有返回值的方法

定义与使用:

javascript 复制代码
filters: {
  discount(res, dis) {
    return res * dis / 10;
  },
  myCurrency(res, fmt) {
    return fmt + res;
  }
}

使用示例:

html 复制代码
<h1>{{ bonus | discount(8) | myCurrency('$') }}</h1>
相关推荐
名为沙丁鱼的猫7291 小时前
React/JSX 编码规范
前端·javascript·react.js
Highcharts.js1 小时前
甘特图纵向任务、横向时间显示图表可视化开发|Highcharts甘特图示例
开发语言·前端·javascript·可视化·甘特图·数据可视化·highcharts
yume_sibai1 小时前
Element Plus 导航与反馈组件完全指南(15个核心组件)
前端·elementui·交互
烬羽2 小时前
给 Agent 一个检索式记忆:把对话历史存进 Milvus,该记的都记得
javascript·数据库·agent
磐链科技2 小时前
区块链开发入门实战:用 Hardhat 与 Ethers.js 搭建你的第一个 DApp
开发语言·javascript·区块链
码艺-Alimjan2 小时前
维吾尔语数字转文本
java·javascript·python·算法·go
可乐鸡翅yeah_2 小时前
hls.js 多实例并发踩坑,多视频页面播放器内存与冲突问题解决
开发语言·前端·javascript·音视频·hls·m3u8·m3u8在线播放
雪芽蓝域zzs2 小时前
第十四节:后端返回权限动态路由
前端·javascript·vue.js
小磊哥er2 小时前
Wonder Claude Code - 一个可运行的、教学级的 Claude Code 精简复刻
javascript·ai编程
Rain5093 小时前
谁动了我的 URL?——记一次微前端“灵异 Bug“的排查实录
前端·vue.js·人工智能·前端框架·bug·ai编程