vue原理分析(三)new()创建Vue实例

今天我们来分析Vue实例的创建

代码如下:

复制代码
Vue.config.productionTip = false



new Vue({

  render: h => h(App),

}).$mount('#app')

Vue.config.productionTip = false

这个配置成false,是阻止启动生产消息

复制代码
new Vue({

  render: h => h(App),

}).$mount('#app')

这串代码可以拆分成2句

第一句是创建一个Vue实例

复制代码
const app = new Vue({ render: h => h(App) })

第二句是将Vue实例挂载在id为app的标签上,这个app标签是在index.html中,大家可以自己找一下

复制代码
app.$mount('#app')

这里研究下Vue实例的创建

复制代码
const app = new Vue({ render: h => h(App) })

先看下对象里面

复制代码
render: h => h(App)

这个是一个缩写,

实际上是

复制代码
render: function (createElement) {

    return createElement(App);

}

改为箭头函数

复制代码
render: createElement => createElement(App)

用h指代createElement

复制代码
render: h => h(App)

实际渲染是这样子的

复制代码
import App from './App'

new Vue({

    el: '#root',

    template: '<App></App>',

    components: {

        App

    }

})

引入App组件,从而生成VNode节点

后续通过Vue.prototype.$mount进行挂载,从而可以渲染成真实的DOM结点

相关推荐
css趣多多3 分钟前
vue2项目改造为vue3遇到的问题以及解决办法
前端·vue.js·elementui
哆啦A梦15885 分钟前
Vue3魔法手册 作者 张天禹 09_props的使用
前端·vue.js·typescript
哆啦A梦158822 分钟前
Vue3魔法手册 作者 张天禹 11_自定义hooks
前端·vue.js·typescript
广州华水科技28 分钟前
单北斗变形监测在大坝安全和地质灾害预警中的应用与优势
前端
一叶星殇33 分钟前
Windows 下用 Nginx 部署 Vue + .NET WebApi 全流程实战
vue.js·windows·nginx
阿珊和她的猫41 分钟前
深入理解 Vue 3 的 `setup` 函数
前端·vue.js·状态模式
weixin199701080161 小时前
微店商品详情页前端性能优化实战
前端·性能优化
FindYou.1 小时前
基于mdEditor实现数据的存储和回显(导出pdf&表情包&目录)
javascript·vue
feasibility.1 小时前
打造AI+准SaaS:中文法律检索分析平台
vue.js·人工智能·自然语言处理·django·sass·web·法律
星火开发设计1 小时前
STL 容器:vector 动态数组的全面解析
java·开发语言·前端·c++·知识