- el
类型:string | Element
限制:只在用new创建实例时生效
详细:提供一个在页面上已存在的DOM元素作为Vue实例的挂载目标。可以是CSS选择器,也可以是一个HTMLElement实例。在实例挂载之后,元素可以用vm.$el访问。
如果在实例化时存在这个选项,实例将立即进入编译过程,否则,需要显示调用vm.$mount()手动开启编译。
- template
类型:string
详细:一个字符串模板作为Vue实例的标识使用。模板将会替换挂载的元素。挂载元素的内容都将被忽略,除非模板的内容有分发插槽。
如果值以#开始,则它将被用作选择符,并使用匹配元素的innnerHTML作为模板。常用的技巧是用<script type="x-template">包含模板。
- render
类型:(createElement: () => VNode) => VNode
详细:字符串模板的代替方案,允许你发挥JavaScript最大的编程能力。该渲染函数接受一个createElement方法作为第一个参数用来创建VNode。如果组件是一个函数组件,渲染函数还会接受一个额外的context参数,为没有实例的函数组件提供上下文信息。
- renderError
类型:(createElement: () => VNode, error: Error) => VNode
详细:当render函数遭遇错误时,提供另外一种渲染输出。其错误将会作为第二个参数传递到renderError。
new Vue({
render (h) {
throw new Error('oops')
},
renderError (h, err) {
return h('pre', { style: { color: 'red' }}, err.stack)
}
}).$mount('#app')