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>
相关推荐
山河木马4 小时前
矩阵专题3-怎么创建投影矩阵(uProjectionMatrix)
javascript·webgl·计算机图形学
泯泷6 小时前
第 2 篇:设计第一套字节码:Opcode、Instruction 与 Constant Pool
前端·javascript·安全
泯泷6 小时前
第 1 篇:从 1 + 2 开始:亲手写出第一台 JSVM
前端·javascript·安全
古夕7 小时前
第三方 SSO 接入实践:redirect_uri 编码、回调一致性与跨项目联调
前端·vue.js
朦胧之7 小时前
页面白屏卡住排查方法
前端·javascript
Ruihong7 小时前
Vue withDefaults 转 React:VuReact 怎么处理?
vue.js·react.js·面试
犇驫聊AI8 小时前
Chrome DevTools MCP + Claude Code 自定义skills生成接口代码生成器
前端·javascript
kyriewen8 小时前
别再这样写 async/await 了:我在 Code Review 中见过最多的 8 个错误
前端·javascript·面试
稀土熊猫君9 小时前
一个人能做出什么开源项目?
vue.js·后端·开源
用户2986985301413 小时前
在 React 中使用 JavaScript 将 Excel 转换为 SVG
前端·javascript·react.js