var snabbdom = window.snabbdom; // 定義patch var patch = snabbdom.init([ snabbdom_class, snabbdom_props, snabbdom_style, snabbdom_eventlisteners ]) // 定義h var h = snabbdom.h; var container = document.getElementById('container'); // 生成vnode var vnode = h('ul#list', {}, [ h('li.item', {}, 'Item 1'), h('li.item', {}, 'Item 2'), ]); patch(container, vnode) // 修改DOM內容 document.getElementById('btn-change').addEventListener('click', function () { // 生成newVnode var newVnode = h('ul#list', {}, [ h('li.item', {}, 'Item 1'), // DOM節點中不一樣的地方 h('li.item', {}, 'Item B'), h('li.item', {}, 'Item 3'), ]); patch(vnode, newVnode) })
[!NOTE]
核心API總結:node