1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 1× 2× 233× 233× 231× 231× 1× 230× 233× 1× 233× | import { ElementVNode, SCOPE_ATTRIBUTE, VNode } from '../' export function updateElement(formerVNode: VNode, vNode: VNode): ElementVNode { const node = vNode.element = formerVNode.element as Node if (isElement(node)) { const { scope } = vNode if (scope) node.setAttribute(SCOPE_ATTRIBUTE, scope) else node.removeAttribute(SCOPE_ATTRIBUTE) } return vNode as ElementVNode } function isElement(node: Node): node is Element { return typeof (node as Element).setAttribute === 'function' } |