模块的作用
·Snabbdom的核心库并不能处理DOM元素的属性/样式/事件等
可以通过注册Snabbdom默认提供的模块来实现
·Snabbdom 中的模块可以用来扩展Snabbdom的功能
· Snabbdom中的模块的实现是通过注册全局的钩子函数来实现的
官方提供的模块
·attributes
·props
·dataset
·class
·style
·eventlisteners
模块使用步骤
·导入需要的模块
·init()中注册模块
·h()函数的第二个参数处使用模块
import { init } from ‘snabbdom/build/package/init’ import { h } from ‘snabbdom/build/package/h’ // 1 导入模块(注意拼写,导入的名称不要拼错) import { styleModule } from ‘snabbdom/build/package/modules/style’ import { eventListenersModule } from ‘snabbdom/build/package/modules/eventlisteners’ // 2 注册模块(为 patch 函数添加模块对应的能力) const patch = init([ styleModule, eventListenersModule ]) // 3 使用模块 let vNode = h(‘div#box’, { style: { backgroundColor:‘green’, height:‘200px’, width:‘200px’ } }, [ h(‘h1#title’, { style: { color:‘#fff’ }, on: { click () { console.log(‘点击了 h1 标签’) } } }, ‘这是标题内容’), h(‘p’, ‘这是内容文本’) ]) const dom = document.getElementById(‘app’) patch(dom, vNode)