vue生命周期函数、vue-resource的使用、axios的使用

1、什么是生命周期

从Vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期!

2、vue生命周期钩子函数

每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。

生命周期函数=生命周期事件=生命周期钩子

3、vue生命周期
(1)创建前:beforeCreate(){}
        初始化尚未完成,data数据、methods方法都未挂载在vue实例上(一般用于页面重定向)
(2)创建后:created(){}
        第一个能够操作data数据的生命周期(一般用于接口请求+数据初始化)
(3)挂载前:beforeMount(){}
        虚拟DOM挂载前,此时页面元素尚未更新
(4)挂载后:mounted(){}

        dom元素挂载后,如果需要操作dom,可以在此生命周期执行

(5)更新前:beforeUpdate(){}

(6)更新后:updated(){}
        beforeUpdate和updated在页面初次渲染时并不执行,在更新时执行,故可执行0次或多次
(7)销毁前:beforeDestroy(){}
        一般用于清除计时器

(8)销毁后:destryed(){}


4. vue-resource的使用

<script src="https://cdn.bootcdn.net/ajax/libs/vue-resource/1.5.3/vue-resource.min.js"></script>

  1. 直接在页面中,通过script标签,引入vue-resource的脚本文件;
  2. 注意:引用的先后顺序是 - 先引用Vue的脚本文件,再引用vue-resource的脚本文件

GET请求

getInfo() { // get 方式获取数据
this.$http.get('http://yapi.shangyuninfo.com/mock/36/web02/category').then(res => {
  console.log(res.body);
})

}

POST请求

postInfo() {
var url = 'http://yapi.shangyuninfo.com/mock/36/web02/list/goods/category';
// post 方法接收三个参数:
// 参数1: 要请求的URL地址
// 参数2: 要发送的数据对象
// 参数3: 指定post提交的编码类型为 application/x-www-form-urlencoded
this.$http.post(url, {categoryId: 'zs' }, { emulateJSON: true }).then(res => {
  console.log(res.body);
});

}

5. axios的使用

使用 cdn:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>

GET请求

mounted () {

    axios

      .get('https://www.runoob.com/try/ajax/json_demo.json')

      .then(response => (this.info = response))

      .catch(function (error) { // 请求失败处理

        console.log(error);

      });

  }

})

POST请求

mounted () {

    axios

      .post('https://www.runoob.com/try/ajax/demo_axios_post.php')

      .then(response => (this.info = response))

      .catch(function (error) { // 请求失败处理

        console.log(error);

      });

  }

})

猜你喜欢

转载自blog.csdn.net/qq_53694927/article/details/126981451