import Vue from 'vue'
import App from './App.vue' //组件
new Vue({
render: h => h(App),
}).$mount('#app')
自动调用render
函数;
render( createElement ){
return createElement(...)
}
render函数的作用是将 createElemet 函数创建的vdom返回到Vue实例化对象的beforeMount生命周期函数中;然后通过挂载点进行挂载然后将vdom渲染在界面上(真实dom)。
createElement函数是用于创建vdom的,其内有三个参数
若是createElement的第一个参数为html标签的字符串-> 创建一个对应的html标签的vdom并将这个标签渲染到挂载点上(createElement创建$mount函数挂载渲染);
<script>
export default {
render( createElement ){
return createElement('div',{domProps:{innerHTML:'html页面'}})
}
}
</script>
上述示例是创建了一个div标签,若是想给标签内部添加子元素->使用第三个参数为其添加子元素
<script>
export default {
data(){
return{
value:[111,222]
}
},
render( createElement ){
return createElement('ul',{domProps:''},this.value.map(item => createElement('li',{domProps:{innerHTML:item},style:{color:'#f00'}})))
}
}
</script>
若是createElement的第一个参数为组件 -> 创建该组件的vdom渲染到挂载点上(createElement创建$mount函数挂载渲染);
子组件
<template>
<ul>
<li>111</li>
<li>222</li>
</ul>
</template>
父组件
<script>
import hello from './hello.vue'
export default {
data(){
return{
value:[111,222]
}
},
render( createElement ){
return createElement(hello)
}
}
</script>