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>
相关推荐
To_OC10 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
To_OC12 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
小林ixn12 小时前
从 ??= 到 onKeyDown:一个 React 组件的“自我修养”
前端·javascript·react.js
এ慕ོ冬℘゜13 小时前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery
随心点儿14 小时前
js postMessage 实现跨域发送消息-应用示例
javascript·ecmascript·postmessage
kyriewen15 小时前
我让AI改一个bug——它偷偷动了5个我没让它碰的地方
前端·javascript·ai编程
慧一居士17 小时前
Element Plus 按需引入的配置使用说明和完整示例
前端·vue.js
FrameNotWork19 小时前
HarmonyOS 6.0 LocalStorage页面级存储
华为·交互·harmonyos
gis开发之家19 小时前
《Vue3 从入门到大神35篇》Vue3 源码详解(五):effect 依赖收集原理——track 与 trigger 是如何工作的?
javascript·typescript·前端框架·vue3·vue3源码
FrameNotWork20 小时前
HarmonyOS 6.0 自定义指令与手势组合:从单指到多指的交互进阶
华为·交互·harmonyos