Skip to main content

Woot, 2.4.0 is out! : vue.js

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 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>
    Based on discussion in #5983.
  • v-on: support v-on object syntax with no arguments. This pairs well with the new $listenersinstance 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 simpler const Foo = () => import('./Foo.vue') syntax when declaring async components with the changes introduced in vue-loader@13.0.0. (0cd6ef3)
  • support .sync modifier for v-bind="object" (#5943) (3965e50), closes #5937
  • keep-alive: support Array for include and exclude (#5956) (51c595a)
  • weex: implement "weex.supports" api to support feature detection (#6053) (b1512d8)
  • vm.$watch now also supports using the same object format supported by the watch component option: { handler: () => {}, deep: true } (#5645) (5aac170)
  • types: add types for vue-server-renderer (#5775) (e6de9a5)
  • Vue.config.errorHandler now also captures errors thrown in custom event handlers (#5709) (11b7d5d)
  • add new config option Vue.config.warnHandler for defining a custom callback for runtime warnings. This only works in the development build. (#5883) (9881b40)
  • add comments option to allow preserving comments in template (#5951) (e4da249), closes #5392

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 in vue-loader@>=12 and can be disabled using the optimizeSSR option.
  • remove src directory from npm module, which should reduce download size when installing from npm. (#6072) (e761573)

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 (isref, ...) in v-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

Popular posts from this blog

Design Tools to Help You Create Your Next Project- Part 3

Coolors Coolors   is a super fast color scheme generator. You can explore thousands of pre-existing color schemes (each one features five colors). Or, you can generate your own in a matter of minutes. Once you go to the “generate” page, hit the space bar to start with a different color scheme, and then you can adjust each color’s hue, saturation, and brightness accordingly. Web Gradients Web Gradients   is a collection of almost 200 background gradients, created by the  itmeo  team. You can use each of these content backdrops for any part of your website. You’ll find a .PNG version of each gradient, as well as easy-to-copy CSS3 crossbrowser code. Bonus: there are even curated packs for  Sketch  &  Photoshop . Color Hunt On  Color Hunt , browse through countless palettes, comprised of four colors each. You can browse and sort through the list based on what’s hot and popular, or just pick “random” and see what comes u...

WordPress 4.8 Release Candidate 2 on June 1, 2017

The second release candidate for WordPress 4.8 is now available. To test WordPress 4.8, you can use the  WordPress Beta Tester  plugin or you can  download the release candidate here  (zip). We’ve made  a handful of changes  since releasing RC 1 last week. For more details about what’s new in version 4.8, check out the  Beta 1 ,  Beta 2 , and  RC1  blog posts. Think you’ve found a bug?  Please post to the  Alpha/Beta support forum . If any known issues come up, you’ll be able to  find them here . Happy testing!                                                                                                                   ...

Node.js + MySQL Example: Handling 100's of GigaBytes of Data

Through this Node.js & MySQL example project, we will take a look at how you can efficiently handle  billions of rows  that take up  hundreds of gigabytes  of storage space.                          Secondary goal with this article is to help you decide if Node.js + MySQL is a good fit for your needs, and to provide help with implementing such a solution. The actual code we will use throughout this blogpost  can be found on GitHub . Why Node.js and MySQL? Use MySQL to store the distributed tracing data of the users of our  Node.js Monitoring & Debugging Tool  called Trace. We chose MySQL, because at the time of the decision, Postgres was not really good at updating rows, while for us, updating immutable data would have been unreasonably complex. Most think if anyone has millions/billions of rows, they should use a NoSQL solution such as Cassandra or Mongo. Unfortun...