黑马eesy_15 Vue:03.生命周期与ajax异步请求&&04.vue案例

黑马eesy_15 Vue:02.常用语法

vue的生命周期与ajax异步请求



1、Vue的快速入门
2、Vue的语法
  插值表达式
  事件的绑定
  数据的显示
  逻辑判断和循环输出
3、Vue的生命周期
  8个生命周期的执行点
    4个基本的
    4个特殊的
4、axios的ajax异步请求
  它和jquery的ajax比较相似

5、综合案例
    实现用户的查询列表和更新操作
        前端:Vue
        后端:ssm


3.VueJS生命周期

每个 Vue 实例在被创建之前都要经过一系列的初始化过程。

vue在生命周期中有这些状态,
beforeCreate,created,beforeMount,mounted,beforeUpdate,updated,beforeDestroy,destroyed。Vue在实例化的过程中,会调用这些生命周期的钩子,给我们提供了执行自定义逻辑的机会。

那么,在这些vue钩子中,vue实例到底执行了那些操作,我们先看下面执行的例子

使用Firefox浏览器按F12切换开发者模式查看

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title>vuejs的生命周期</title>
        <script src="js/vuejs-2.5.16.js"></script>
    </head>

    <body>
        <div id="app">
            {{message}}  <!--vue的插值表达式-->
        </div>
    </body>
    <script>
        // new一个Vue对象名称叫做vm
        var vm = new Vue({
            el: "#app",
            data: {
                message: ‘hello world‘
            },
            beforeCreate: function() {
                console.log(this);
                showData(‘创建vue实例前‘, this);
            },
            created: function() {
                showData(‘创建vue实例后‘, this);
            },
            beforeMount: function() {
                showData(‘挂载到dom前‘, this);
            },
            mounted: function() {
                showData(‘挂载到dom后‘, this);
            },
            beforeUpdate: function() {
                showData(‘数据变化更新前‘, this);
            },
            updated: function() {
                showData(‘数据变化更新后‘, this);
            },
            beforeDestroy: function() {
                vm.test = "2333";
                showData(‘vue实例销毁前‘, this);
            },
            destroyed: function() {
                showData(‘vue实例销毁后‘, this);
            }
        });

        function realDom() {
            console.log(‘真实dom结构:‘ + document.getElementById(‘app‘).innerHTML);
        }

        function showData(process, obj) {
            console.log(process);
            console.log(‘data 数据:‘ + obj.message)
            console.log(‘挂载的对象:‘)
            console.log(obj.$el)
            realDom();
            console.log(‘------------------‘)
            console.log(‘------------------‘)
        }
        //vm.message = "good...";
        //vm.$destroy();
    </script>

</html>

vue对象初始化过程中,会执行到beforeCreate,created,beforeMount,mounted 这几个钩子的内容

  • beforeCreate :数据还没有监听,没有绑定到vue对象实例,同时也没有挂载对象
  • created :数据已经绑定到了对象实例,但是还没有挂载对象
  • beforeMount: 模板已经编译好了,根据数据和模板已经生成了对应的元素对象,将数据对象关联到了对象的el属性,el属性是一个HTMLElement对象,也就是这个阶段,vue实例通过原生的createElement等方法来创建这个html片段,准备注入到我们vue实例指明的el属性所对应的挂载点
  • mounted:将el的内容挂载到了el,相当于我们在jquery执行了(el).html(el),生成页面上真正的dom,上面我们就会发现dom的元素和我们el的元素是一致的。在此之后,我们能够用方法来获取到el元素下的dom对象,并进 行各种操作
  • 当我们的data发生改变时,会调用beforeUpdate和updated
  1. beforeUpdate :数据更新到dom之前,我们可以看到$el对象已经修改,但是我们页面上dom的数据还没有发生改变。
  2. updated: dom结构会通过虚拟dom的原则,找到需要更新页面dom结构的最小路径,将改变更新到dom上面,完成更新。
  • beforeDestroy,destroed :实例的销毁,vue实例还是存在的,只是解绑了事件的监听还有watcher对象数据与view的绑定,即数据驱动。

17vue的ajax以及案例的介绍

4.1 vue-resource

当vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,在这里大家了解一下vue-resource就可以。 

4.2 axios

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中
axios的github:  https://github.com/axios/axios

4.2.1 引入axios
首先就是引入axios,如果你使用ES6,只需要安装axios模块之后

import axios from ‘axios‘;
//安装方法
npm install axios
//或
bower install axios

当然也可以用script引入

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

4.2.2 get请求

//通过给定的ID来发送请求,ES6语法
axios.get(‘/user?ID=12345‘)
.then(function(response){
console.log(response);
})
.catch(function(err){
console.log(err);
});
//以上请求也可以通过这种方式来发送
axios.get(‘/user‘,{
params:{
ID:12345
}
})
.then(function(response){
console.log(response);
})
.catch(function(err){
console.log(err);
});

4.2.3 post请求

axios.post(‘/user‘,{
firstName:‘Fred‘,
lastName:‘Flintstone‘
})
.then(function(res){
console.log(res);
})
.catch(function(err){
console.log(err);
});

为方便起见,为所有支持的请求方法提供了别名
axios.request(config)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])



==============================

参考资料:

记录火狐浏览器的一些开发使用总结

end

原文地址:https://www.cnblogs.com/MarlonKang/p/11629268.html

时间: 2024-07-28 21:40:51

黑马eesy_15 Vue:03.生命周期与ajax异步请求&&04.vue案例的相关文章

黑马eesy_15 Vue:vue语法和生命周期与ajax异步请求

自学Java后端开发,发现14 微服务电商[乐优商城]实战项目,在介绍完SpringCloud后就要肝前端基础知识ES6和Vue. 所以本篇入门Vue练习记录的过程,目的是供自学后端Java遇到Vue使用需求的时候加强一下Vue基本使用的能力. vue语法和生命周期与ajax异步请求 1.Vue的快速入门2.Vue的语法 插值表达式 事件的绑定 数据的显示 逻辑判断和循环输出3.Vue的生命周期 8个生命周期的执行点 4个基本的 4个特殊的4.axios的ajax异步请求 它和jquery的aj

浅谈Vue的生命周期模型

Vue实例从创建到销毁的过程,就是生命周期.Vue的生命周期包括:开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程. 在Vue的整个生命周期中,提供了一系列的事件,可以注册JavaScript方法,达到控制整个过程的目的,在这些javascript方法中的this直接指向的是vue的实例. 在Vue的整个生命周期中,实例可以调用一些生命周期钩子,这提供了执行自定义逻辑的机会. Vue提供的生命周期钩子如下:① beforeCreate在实例初始化之后,数据观测(da

vue 关于生命周期

序言: 1. vue 单组件的生命周期: 2. vue 父子组件的生命周期: 3. axios 异步请求 与 vue 的组件周期: 一.vue 每个组件的生命周期 关于每个组件的生命周期,官方文档里也提供了,网上也能搜到各路大神们的相关文章,这里不赘述,贴一个网址以及简单总结. Vue的生命周期 - 转自浅白 简单总结: 1.beforeCreate 此时 $el.data 的值都为 undefined : 2.created 此时可以拿到 data 中的值,但是 this.$el 任然是 un

VUE:生命周期

VUE:生命周期 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!-- 1.vue对象的生命周期 1)初始化显示 * beforeCreate() * created() * beforeMount() * mounted() 2)更新状态:this.xxx=va

vue的生命周期以及使用场景

vue 1.beforeCreate(){} 创建前,访问不到data当中的属性以及methods当中的属性和方法,可以在当前生命周期创建一个loading,在页面加载完成之后将loading移除 2.created(){} 创建后,当前生命周期执行的时候会遍历data中所有的属性,给每一个属性都添加一个getter.setter方法,将data中的属性变成一个响应式属性 当前生命周期执行的时候会遍历data&&methods身上所有的属性和方法,将这些属性和方法代理到vue的实例身上 在

Vue实例生命周期

前面的话 Vue实例在创建时有一系列的初始化步骤,例如建立数据观察,编译模板,创建数据绑定等.在此过程中,我们可以通过一些定义好的生命周期钩子函数来运行业务逻辑.本文将详细介绍Vue实例的生命周期 图示 下图是Vue实例生命周期的图示 解释 接下来,根据提供的生命周期钩子,对Vue实例各个阶段的情况进行详细说明 [beforeCreate] 在实例开始初始化时同步调用.此时数据观测.事件等都尚未初始化 [created] 在实例创建之后调用.此时已完成数据观测.事件方法,但尚未开始DOM编译,即

8.vue的生命周期

Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程,我们称这是Vue的生命周期.通俗说就是Vue实例从创建到销毁的过程,就是生命周期. 在Vue的整个生命周期中,它提供了一系列的事件,可以让我们在事件触发时注册js方法,可以让我们用自己注册的js方法控制整个大局,在这些事件响应方法中的this直接指向的是vue的实例. 再上图,对生命周期图的标注 特别值得注意的是created钩子函数和mounted钩子函数的区别 每个钩子函数

Vue实例生命周期+vueRoter

Vue实例生命周期 vue生命周期之beforeCreate 实例创建之前除标签外,所有的vue需要的数据,事件都不存在 vue生命周期之created 实例创建之后,data和事件已经被解析到,el还没有找到 vue生命周期之beforeMount 开始找标签,数据还没有被渲染,事件也没有被监听 vue生命周期之mounted 开始渲染数据,开始监听事件 vue生命周期之beforeUpdata 数据已经被修改在虚拟DOM,但没有被渲染到页面上 vue生命周期之updata 开始使用Diff算

vue 的生命周期

vue的生命周期就是一个vue组件从出生到死亡的过程 *** 生命周期,你需要知道它是什么时候触发. beforeCreate 在组件初始化之前 在这个生命周期中组件的数据.方法.事件都还没有. 简单来说,new Vue之后,可以理解为第一句话就调用beforeCreate 可以在loading的时候用 function Fn(age){ beforeCreate(); this.age = age; } created 当数据.方法.事件初始化之后调用. 简单点来说,当数据有初始值之后调用.