import{ h }from'vue'const vnode =h('div',// type{id:'foo',class:'bar'},// props[/* children */])
语法:
// 除了类型必填以外,其他的参数都是可选的h('div')h('div',{id:'foo'})// attribute 和 property 都能在 prop 中书写// Vue 会自动将它们分配到正确的位置h('div',{class:'bar',innerHTML:'hello'})// props modifiers such as .prop and .attr can be added// with '.' and `^' prefixes respectivelyh('div',{'.name':'some-name','^width':'100'})// 类与样式可以像在模板中一样// 用数组或对象的形式书写h('div',{class:[foo,{ bar }],style:{color:'red'}})// 事件监听器应以 onXxx 的形式书写h('div',{onClick:()=>{}})// children 可以是一个字符串h('div',{id:'foo'},'hello')// 没有 props 时可以省略不写h('div','hello')h('div',[h('span','hello')])// children 数组可以同时包含 vnodes 与字符串h('div',['hello',h('span','hello')])