Estoy usando Vue.js 2.x + Quasar 1.x con http-vue-loader (por lo que no hay herramientas de compilación) en este momento.
Puse un q-dialog en un componente separado, llamémoslo MyComponent, y cuando lo conecto en un componente principal así:
<my-component></my-component>entonces no pasa nada, ni siquiera está en el DOM... Cuando simplemente inserto la plantilla q-dialog completa en el componente principal, sin tener su componente externo separado, todo funciona bien con un modelo v simple.
Así que importé el componente con éxito, esa parte está bien. Estaba tratando de invocarlo cuando hago clic en un botón, pero realmente no puedo comunicarme con el componente de esta manera.
Ahora me he encontrado con dos formas separadas de crear cuadros de diálogo en Quasar, la primera es usar el componente cuando no está en su componente separado. El segundo parece ser el que podría necesitar para un componente de diálogo separado. El problema es que importar un componente externo con vue-http-loader se ve así:
components: { 'my-component': httpVueLoader('/components/MyComponent.vue'), },mientras que según los documentos de Quasar, debería verse así:
import CustomComponent from '..path.to.component..' ... this.$q.dialog({ component: CustomComponent, ...Los documentos son un poco confusos para mí también. :/
Desafortunadamente, no puedo ver el código CustomComponent , que debe crearse siguiendo una interfaz, que se describe en esta página de documentos bajo la advertencia. Asegúrese de que CustomComponent sea válido.
PD: ambas formas hacen lo mismo pero de diferentes maneras. Con el primero, importará ese componente a otro y lo configurará en la plantilla, pero con el segundo, llamará a una herramienta que crea un nuevo modal con parámetros pasados. Pero el segundo no tiene todas las funciones en comparación con el primero.