Skip to content

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.

js
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