¿Hay alguna forma de acceder a una propiedad global desde mi instancia de vue al configurar un valor de prop predeterminado en mi componente?
me gustaria hacer esto
props: { id: { type: String, default: this.$utils.uuid } }
También intenté envolverlo en una función de flecha sin éxito.
props: { id: { type: String, default: () => this.$utils.uuid } }
No creo que esto se pueda lograr de la manera que usted lo desea. Esto se debe a que props es un objeto y son comunes entre instancias de componentes. La solución que tiene es usar $utils
globales o usar un elemento de datos interno en lugar de usar directamente la identificación de prop en su componente:
Usando un elemento de datos internalId
:
export default { props: { id: { type: String, default: null } }, data () { return { internalId: this.id || this.$utils.uuid } } }
Usando el objeto Vue global
(esta solución depende de cómo registre su complemento de utils
:
import Vue from 'vue' export default { props: { id: { type: String, default: Vue.$utils.uuid // Depends on how you registered your plugin } } }