JavaScript - Pasar un objeto como parámetro a un web-component generado con Vue

 
Vista:
sin imagen de perfil

Pasar un objeto como parámetro a un web-component generado con Vue

Publicado por Carlos (2 intervenciones) el 30/08/2021 14:27:04
Hola,

Tengo un web-component creado con Vue, lo he construido para implementarlo en otro proyecto que no está hecho con Vue.

El componente se integra bien, el problema es que necesita que le pase un objeto para rellenar los datos, en el proyecto de Vue era muy sencillo:
1
<my-component :card="card"></my-component>

El problema viene con el componente que construye Vue, que cuando le intento pasar el objeto, me lo reconoce como un string, no como el objeto que debería contener, he probado con el v-bind pero de esa forma, ni siquiera lee el atributo, esto son los errores que me da probando de las dos formas:
1
2
<my-component :card="card"></my-component
[Vue warn]: Error in render: "TypeError: can't access property "name", _vm.card is undefined"

y sin el v-bind que ahí si parece que el componente reconoce que de ahí tiene que sacar el contenido pero no lee el objeto:
1
[Vue warn]: Invalid prop: type check failed for prop "card". Expected Object, got String with value "card".

¡Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jaime
Val: 60
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Pasar un objeto como parámetro a un web-component generado con Vue

Publicado por Jaime (30 intervenciones) el 06/09/2021 01:58:19
Y si pasas el objeto a traves de un JSON.stringfy/parse?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Pasar un objeto como parámetro a un web-component generado con Vue

Publicado por Carlos (2 intervenciones) el 07/09/2021 09:58:45
Ya lo probé, el problema es que lo que envía el componente es un texto plano, sólo envía la palabra que has puesto como atributo. Si es una variable, no lee su contenido, indistintamente de que sea un objeto o un string lo que contienen ya que no lo considera un "contenedor"

La única manera que he encontrado de hacerlo es pasar ese nombre de variable al componente hijo y de ahí, que cuando esté renderizado, con esa palabra que le he pasado, busque una variable con ese nombre en el componente donde se está renderizando y utilice su contenido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar