-
-
Notifications
You must be signed in to change notification settings - Fork 33.9k
Description
Version
2.4.2
Reproduction link
https://glitch.com/edit/#!/v-text
https://v-text.glitch.me/html
https://v-text.glitch.me/text
Steps to reproduce
Try to render <span v-text="x"></span> where x is is null or undefined
What is expected?
It may be gracefully handled just like v-html directive (see notes below) or client side version of v-text.
What is actually happening?
Throwing an internal TypeError:
Cannot read property 'replace' of undefinedfunction escape (s) {
return s.replace(/[<>"&]/g, escapeChar)
}Seems the simple fix would be defining a default value for s parameter in util.js (or better do a string type check on value)
Related to nuxt/nuxt#1638
Some Notes
v-html behaviour also differs in SSR and client. SSR renders v-html: <span>null</span> while it changes into <span></span> on client side. Seems <span v-html="foo"> is being optimized into '<span>' + (_vm.foo). So we can change it into (_vm.foo|| '') to handle this inconsistency during SSR render.