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. (9cf6646 & 7404091)
- Easier creation of wrapper components: (6118759)
- New component option:
inheritAttrs
. Turns off the default behavior where
parent scope non-prop bindings are automatically inherited on 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 thev-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>
Based on discussion in #5983. - 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. (11614d6) - Now auto-resolves ES module
default
export when resolving async components. This enables keeping using the simplerconst Foo = () => import('./Foo.vue')
syntax when declaring async components with the changes introduced in vue-loader@13.0.0. (0cd6ef3)
Performance Improvements
- ssr:
vue-template-compiler
now has two new SSR-specific compile methods that generates SSR-specific render function code by optimizing parts of the template into string concatenation. This improves raw SSR render performance by 2~8x depending on how much of the template can be optimized. Note this will have a much smaller impact on requests per second for a real app because raw render performance is only a small portion of the overall time spent in a request.This is enabled by default invue-loader@>=12
and can be disabled using the optimizeSSR option.
Bug Fixes
- check enterToClass/leaveToClass existence before adding it (#5912) (34d8c79)
- ensure cleanup in watcher.get (#5988) (f6cd44c), closes #5975
- improve Vue.set/Vue.delete API to support multi type of array index (#5973) (eea0920)
- multiple merged vnode hooks not invoked properly (91deb4f), closes #6076
- v-model: should generate component-specific code for tags with "is" attribute (a1d1145), closes #6066
- prefetch should not have
as
attribute (#5683) (ebca266) - core: add merge strategy for provide option (#6025) (306997e), closes #6008
- support plugin with multi version vue (#5985) (049f317), closes #5970
- core: should preserve reactivity-ness of injected objects (8d66691), closes #5913
- parser: the first newline following pre and textarea tag should be ignored (#6022) (4d68079)
- ref: refactor function registerRef (#6039) (254d85c), closes #5997
- ssr: fix bundleRenderer mapped async chunks caching check (#5963) (de42186)
- ssr: reference error when create $ssrContext for root component (#5981) (5581654), closes #5941
- transition group should work with dynamic name (#6006) (#6019) (d8d4ca6)
- v-model: fix input change check for type="number" (0a9aab5), closes #6069
- v-model: use consistent behavior during IME composition for other text-like input types (fix #5902) (4acc8c8)
- v-bind object should not override props on scopedSlots (#5995) (458030a)
- fix out-in transition for async components (#5760) (c3cdfcf)
- fix memory leak by preventing data.pendingInsert from keeping reference to removed nodes (#5839) (4733408)
- reduce memory usage by avoiding keeping reference to old vdom tree after patch (#5851) (07a3726)
- fix XHTML compatibility (#5852) (69f946b)
- Merge inject option when extending a component (#5827) (080c387)
- support string index when using
Vue.set
on Array (#5889) (8a2c514) - ignore reserved attributes (
is
,ref
, ...) inv-bind
object syntax (#5881) (d33c125) - fix slot resolved incorrect with abstract component (#5888) (213f136)
As Per Info
https://www.linkedin.com/in/lucky-sinha-12437a96/
Comments
Post a Comment