W3cubDocs

/Vue.js 3

Props Default Function this Access
breaking

Props default value factory functions no longer have access to this.

Instead:

  • Raw props received by the component are passed to the default function as argument;

  • The inject API can be used inside default functions.

import { inject } from 'vue'

export default {
  props: {
    theme: {
      default (props) {
        // `props` is the raw values passed to the component,
        // before any type / default coercions
        // can also use `inject` to access injected properties
        return inject('theme', 'default-theme')
      }
    }
  }
}

Migration Strategy

Migration build flag: PROPS_DEFAULT_THIS

© 2013–present Yuxi Evan You
Licensed under the MIT License.
https://v3.vuejs.org/guide/migration/props-default-this.html