vue实例创建及数据挂载渲染

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue实例创建及数据挂载渲染相关的知识,希望对你有一定的参考价值。

参考技术A vue实例创建其实很简单,首先讲一下vue其实是由一个构造函数new Vue()生成的一个实例

你可以把这作为根实例,所有嵌套在其下面的组件都是实例

接下来就是写入数据,实例里面接受的是一个对象

直接将其赋给data属性

到这里一个vue实例就创建好了,因为vue是响应式的,设计模式是observer pattern(观察者模式),当数据改变时,vue视图会自动更新,(除非你使用object.freeze()阻止修改属性)。

紧接着挂载实例,挂载实例顾名思义就是讲vue挂载到dom树中,从而经过浏览器引擎解析成页面。

最后怎么渲染数据呢?其实也很简单,vue本身就实现了数据绑定,双大括号的文本插值,这里要与react的单大括号功能是一样的,都是为了实现数据的显示绑定。

到这里实例篇就结束了,有错误的欢迎批评指正。

Vue生命周期及钩子函数

参考技术A 其实生命周期就是指Vue实例创建的过程,从开始到销毁的过程。在这个过程中呢又分:开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列...在这个过程中呐,有一些方法(函数)会被触发执行,也就是给了我们可以去编写逻辑的机会。

下面附一张Vue生命周期图

Vue生命周期一共有11个钩子函数,图中一共有8个钩子函数。在Vue实例被创建之后,Vue挂载元素阶段会有4个钩子函数,它们是自动执行的且只执行一次,数据更新阶段有2个钩子函数会被执行,销毁阶段有2个钩子会被执行,下面我们来详细看一看这8个钩子函数。

在实例初始化之后,数据观测 (dataobserver) 和 event/watcher 事件配置之前被调用。访问不到数据

在实例创建完成后被立即调用 可以获取数据 (常用作发送异步请求获取数据)

在挂载开始之前被调用可以访问数据编译模板结束,虚拟dom已经存在

可以拿到节点和数据  常用实例被挂载后调用.

注意: mounted  不会 保证所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以在 mounted 内部使用 Vue实例 .$nextTick :在Vue实例上有一个方法,它会延迟执行,直到Dom加载完成.

补充:ref表示节点this.$refs.ref的标识 就可以拿到节点了

数据更新时调用,发生在虚拟DOM打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。

常用的监控数据的变化由于数据更改导致的虚拟DOM重新渲染和打补丁

补充:watch是监控特定数据的变化,updated是监控组件里所有数据的变化

实例销毁之前调用,在这一步,实例仍然完全可用。  常用于清理资源,防止内存的泄露

实例销毁后调用。该钩子被调用后,对应 Vue 实例的所有指令都被解绑,所有的事件监听器被移除,所有的子实例也都被销毁。

 被keep-alive 缓存的组件激活时调用。

被keep-alive 缓存的组件停用时调用。

当捕获一个来自子孙组件的错误时被调用。

此钩子会收到三个参数:错误对象、发生错误的组件实例以及一个包含错误来源信息的字符串。此钩子可以返回 false 以阻止该错误继续向上传播。

那么Vue的11个声明周期函数就给大家简单介绍完毕了!你学会了嘛!!!

【详情请参照】 https://cn.vuejs.org

以上是关于vue实例创建及数据挂载渲染的主要内容,如果未能解决你的问题,请参考以下文章

Vue生命周期及钩子函数

vue入门:(底层渲染实现render函数实例生命周期)

Vue简单知识点

vue生命周期

Vue生命周期详解

Vue生命周期源码分析~