Vue中虚拟DOM的更新机制是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1257个文字,预计阅读时间需要6分钟。
一、什么是虚拟DOM?
虚拟DOM本质上就是一个普通的JS对象,用于描述视图的结构。
在Vue中,每个组件都有一个render函数,如果没有template,则会有el,el会将el.outHTML作为输出。
一、什么是虚拟dom?
虚拟dom本质上就是一个普通的JS对象,用于描述视图的界面结构
在vue中,每个组件都有一个render函数,
没有render找template,没有template找el,有el就会把el.outHTML作为template,然后把这串字符串编译成render函数。
有template就不往下找了。有render同理。
每个render 函数都会返回一个虚拟dom树,这也就意味着每个组件都对应一棵虚拟DOM树。
也就是说render目的就是创建虚拟dom,这个组件到底要显示啥。
console.log(‘render'); ↓
题外:console.dir()可以显示一个对象所有的属性和方法。
如果没有return,这时候在页面中是不存在真实dom的。
加上return↓
h函数名字是自定义的,h函数结构,h(标签,{自身属性},[子元素])
子元素继续用h函数建,因为有别的属性
我们在[ ]里面再创建一个子元素
h函数做了判断,如果不是对象,就是文本节点了,↑认为是省略掉了中间的配置
在页面内渲染出来。
本文共计1257个文字,预计阅读时间需要6分钟。
一、什么是虚拟DOM?
虚拟DOM本质上就是一个普通的JS对象,用于描述视图的结构。
在Vue中,每个组件都有一个render函数,如果没有template,则会有el,el会将el.outHTML作为输出。
一、什么是虚拟dom?
虚拟dom本质上就是一个普通的JS对象,用于描述视图的界面结构
在vue中,每个组件都有一个render函数,
没有render找template,没有template找el,有el就会把el.outHTML作为template,然后把这串字符串编译成render函数。
有template就不往下找了。有render同理。
每个render 函数都会返回一个虚拟dom树,这也就意味着每个组件都对应一棵虚拟DOM树。
也就是说render目的就是创建虚拟dom,这个组件到底要显示啥。
console.log(‘render'); ↓
题外:console.dir()可以显示一个对象所有的属性和方法。
如果没有return,这时候在页面中是不存在真实dom的。
加上return↓
h函数名字是自定义的,h函数结构,h(标签,{自身属性},[子元素])
子元素继续用h函数建,因为有别的属性
我们在[ ]里面再创建一个子元素
h函数做了判断,如果不是对象,就是文本节点了,↑认为是省略掉了中间的配置
在页面内渲染出来。

