项目main.js里面会有这么一句代码:
new Vue({
render: h => h(App),
}).$mount('#app')
这个就是创建一个vue对象,然后挂载到制定的页面节点。
这里重点说的是 render: h=>h(App) 是什么?怎么理解?
这个首先要知道ES6的箭头函数的用法,这个函数还原就是如下:
//createElement就是h,一个形参,没有具体意义,可以随意改变书写
render:(function(createElement){
return createElement(App);
})
然后再看vue2.0官方文档,对render方法的描述如下:
render
-
类型:(createElement: () => VNode) => VNode
-
详细:
字符串模板的代替方案,允许你发挥 JavaScript 最大的编程能力。该渲染函数接收一个 createElement 方法作为第一个参数用来创建 VNode。
如果组件是一个函数组件,渲染函数还会接收一个额外的 context 参数,为没有实例的函数组件提供上下文信息。
Vue 选项中的 render 函数若存在,则 Vue 构造函数不会从 template 选项或通过 el选项指定的挂载元素中提取出的 HTML 模板编译渲染函数。
网友评论