diff --git a/src/diff/index.js b/src/diff/index.js index 287f94344d..e08afe4ad3 100644 --- a/src/diff/index.js +++ b/src/diff/index.js @@ -1,4 +1,5 @@ import { + EMPTY_ARR, EMPTY_OBJ, MODE_HYDRATE, MODE_SUSPENDED, @@ -498,7 +499,7 @@ function diffElementNodes( dom.innerHTML = newHtml.__html; } - newVNode._children = []; + newVNode._children = EMPTY_ARR; } else { if (oldHtml) dom.innerHTML = ''; diff --git a/src/diff/props.js b/src/diff/props.js index 316146f0fd..7d0960765a 100644 --- a/src/diff/props.js +++ b/src/diff/props.js @@ -135,7 +135,10 @@ export function setProperty(dom, name, value, oldValue, namespace) { if (typeof value == 'function') { // never serialize functions as attribute values - } else if (value != null && (value !== false || name[4] === '-')) { + } else if ( + value != null && + (value !== false || (name.length > 4 && name[4] === '-')) + ) { dom.setAttribute(name, name == 'popover' && value == true ? '' : value); } else { dom.removeAttribute(name);