1.说一下Vnode是什么?Vnode是怎么渲染的?
VNode(Virtual Node)是Vue中的一个重要概念,它用来描述DOM树上的节点。在Vue中,所有的渲染都是先生成一棵VNode树,然后再通过这棵树来计算DOM操作,以更新视图。
VNode是一个纯JS对象,包含了当前节点的标签名、属性、子节点等信息。VNode可以理解为对真实DOM节点的抽象描述,因为真实DOM节点的创建和销毁非常消耗性能,而VNode的创建和销毁则比较轻量级且不会引起页面的重排和重绘。
在Vue中,每当组件状态发生变化时,它会重新渲染,并将新的VNode与旧的VNode进行比较,通过最小化的更新操作来重新渲染视图,以提高渲染效率。
VNode渲染的过程主要分为以下几个步骤:
生成VNode:在进行组件渲染时,Vue框架会根据模板生成一棵VNode树,表示组件的结构和状态。
生成真实DOM节点:在生成VNode树后,Vue框架会通过递归遍历树的方式,将每个VNode节点转换为真实的DOM节点,并添加到组件的视图中。
更新视图:当组件状态发生变化时,Vue会重新生成一棵VNode树,并将其与之前的树进行比较,找出需要更新的节点。然后,Vue会通过最小化的更新操作来重新渲染视图,以提高渲染效率。
总之,VNode是Vue中用于描述DOM树上节点的一种抽象概念,它可以帮助我们优化组件渲染流程,提高应用程序性能。
2.vue的核心属性怎么使用?怎么理解?