
Vue.js v2.4.0 is now released and available. This version features full SSR + async component support in core, easier creation of wrapper components, better performance, and more.
Here is a highlight of the new features:
Full SSR + async component support in core
SSR now supports rendering async components used anywhere and the client also supports async components during the hydration phase. This means async components / code-splitting now just works during SSR and is no longer limited at the route level
Easier creation of wrapper components:
New component option: inheritAttrs
. Turns off the default behavior where
parent scope non-prop bindings are automatically inherited on the component root
as attributes.
New instance properties: $attrs
& $listeners
. $attrs
contains the parent-scope attribute bindings that were not recognized as props, and $listeners
contains the v-on
listeners registered in the parent scope (without the .native
modifier). These are essentially aliases of $vnode.data.attrs
and $vnode.data.on
, but are reactive.
Combining these allows us to simplify a component like this down into this:
<div>
<input v-bind="$attrs" v-on="$listeners">
</div>
v-on:
Support v-on
object syntax with no arguments. This pairs well with the new $listeners
instance property when creating higher-order components. Note this syntax does not support modifiers.
v2.4.0 also features a number of bug fixes and you can find the complete change log on the Vue.js releases page.