Skip to content

1.0.0-rc.2

Compare
Choose a tag to compare
@yyx990803 yyx990803 released this 23 Oct 00:59
· 3593 commits to main since this release

The corresponding migration build for this release is 1.0.0-rc.2-migration.

New

  • v-for now support the v-for="(key, val) in obj" or v-for="(index, val) in arr" syntax. This allows nested loops to more easily reference the key or index.

  • v-on can now omit the expression if it has modifiers. e.g. @submit.prevent will call preventDefault() on submit events.

  • Custom directive API improvement:

    Custom directives can now provide a params Array, and the Vue compiler will automatically extract these attributes on the element that the directive is bound to. The old undocumented this.param() directive instance method has been deprecated.

    Example:

    <div v-example a="hi"></div>
    Vue.directive('example', {
      params: ['a'],
      bind: function () {
        console.log(this.params.a) // -> "hi"
      }
    })

    This API also supports dynamic attributes. The this.params[key] value is automatically kept up-to-date. In addition, you can specify a callback when the value has changed:

    <div v-example :a="someValue"></div>
    Vue.directive('example', {
      params: ['a'],
      paramWatchers: {
        a: function (val, oldVal) {
          console.log('a changed!')
        }
      }
    })

Fixed

  • #1431 props with the same name not properly merged
  • #1440 v-for components detach hook not called
  • #1442 directives on a child component root not resolved in the right scope
  • #1458 :class array syntax not removing stale classes