Yo uso vue vue-class-component y funciona bien:
import vuetify from '@/plugins/vuetify' @Component({ components: { vue2Dropzone }, vuetify })Pero cuando trato de agregar un nuevo componente solo para producción:
import store from '../store/Index' let storeTmp = process.env.NODE_ENV === 'production' ? store : null @Component({ components: { vue2Dropzone }, vuetify, storeTmp })tengo el error:
Argumento de tipo '{componentes: {vue2Dropzone: any}; vuetificar: Vuetificar; storeTmp: Tienda<...> | nulo; }' no se puede asignar a un parámetro de tipo 'VueClass'. El objeto literal solo puede especificar propiedades conocidas, pero los 'componentes' no existen en el tipo 'VueClass'. ¿Querías escribir 'componente'?
¿Cómo puedo arreglarlo?
Quizás
@Component({ components: { vue2Dropzone }, vuetify, store: storeTmp })?
No hay propiedad storeTmp en la instancia de Vue, pero hay store .
Puede usar computado en esto. Cuando desea cargar un componente basado en alguna condición
En Plantilla
<component v-bind:is="importComponent" :anyPropsYouWantToPas="props" />en computado
importComponent() { if (process.env.NODE_ENV === 'production) { return () => import(`@/components/app/componentpath`) } },