vue页面的渲染过程

本文主要介绍Vue页面的渲染过程

首先vue会找到webpack的打包配置文件。在build/webpack.base.conf.js下:在这里,定义了vue的程序入口文件

vue加载时文件的执行顺序

执行index.html文件

执行main.js文件

main.js挂载了app.vue文件,用app.vue的template替换index.html中的

main.js中注入了路由文件,将对应的组件渲染到router-view中

router-view中加载Layout文件

Layout 加载Navbar, Sidebar, AppMain

vue内部页面的执行顺序

Vue 推荐在绝大多数情况下使用 template 来创建你的 HTML。但是模板毕竟是模板,不是真实的dom节点。从模板到真实dom节点还需要经过一些步骤把模板编译为render函数实例进行挂载, 根据根节点render函数的调用,递归的生成虚拟dom

对比虚拟dom,渲染到真实dom

组件内部data发生变化,组件和子组件引用data作为props重新调用render函数,生成虚拟dom, 返回到步骤3

一,模板到render

// App.vue

<template>

    <div>

        hello word

    </div>

</template>

<script>

export default {

}

</script>

<style>

</style>


vue中各选项及钩子函数执行顺序

在页面首次加载执行顺序有如下:

beforeCreate //在实例初始化之后、创建之前执行

created //实例创建后执行

beforeMounted //在挂载开始之前调用

filters //挂载前加载过滤器

computed //计算属性

directives-bind //只调用一次,在指令第一次绑定到元素时调用

directives-inserted //被绑定元素插入父节点时调用

activated //keek-alive组件被激活时调用,则在keep-alive包裹的嵌套的子组件中触发

mounted //挂载完成后调用

{{}} //mustache表达式渲染页面

修改页面input时,被自动调用的选项顺序如下:

watch //首先先监听到了改变事件

filters //过滤器没有添加在该input元素上,但是也被调用了

beforeUpdate //数据更新时调用,发生在虚拟dom打补丁前

directived-update //指令所在的组件的vNode更新时调用,但可能发生在其子vNode更新前

directives-componentUpdated//指令所在的组件的vNode及其子组件的vNode全部更新后调用updated //组件dom已经更新

组件销毁时,执行顺序如下

beforeDestroy //实例销毁之前调用

directives-unbind //指令与元素解绑时调用,只调用一次

deactivated //keep-alive组件停用时调用

destroyed //实例销毁之后调用

————————————————

版权声明:本文为CSDN博主「希境」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_44969643/article/details/109611161

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Vue的渲染过程 我们从最简单的new Vue开始: Vue在渲染的时候先调用原型上的_render函数将组件对象...
    sun_hl阅读 4,683评论 0 2
  • 1.说说对双向绑定的理解 1.1、双向绑定的原理是什么 我们都知道Vue是数据双向绑定的框架,双向绑定由三个重要部...
    GuessYe阅读 504评论 0 0
  • 对 mvc 和 mvvm 的理解mvc 是 Model 负责数据存储,View 负责视图展示,Controller...
    翔子丶阅读 326评论 0 0
  • 1、说说你对 SPA 单页面的理解,它的优缺点分别是什么? SPA( single-page applic...
    theAngryC4阅读 1,249评论 1 2
  • 作为有5年前端开发的老司机来说已经面试了无数家公司了,现在大多数公司面试,都在问“原理”、“源码”,不能只知道怎么...
    Auoth阅读 1,132评论 0 10