WeChat Miniprogram envía objeto de ts a archivo wxs.
Estoy creando un miniprograma de WeChat utilizando TypeScript, tengo una clase de tipo “Person” con los siguientes datos:
export class Person {
dob: Date;
firstName: String;
lastName: String;
}
Crear objeto Person:
let person = new Person ();
person.dob = new Date ();
person.fisrtName = "XXX";
person.lastName = "YYY";
Establecer datos:
this.setData ({
person: person
})
Al mostrarlo en el archivo wxml, estoy haciendo lo siguiente:
<view> {{person.firstName}} </view>
<view> {{person.lastName}} </view>
<view> {{person.dob}} </view>
La propiedad dob
muestra esto como [object Object]
.
He creado un método en un archivo wxs para transformar la propiedad dob
y mostrarla como una cadena, llamando al método toDateString
del objeto Date, pero me da el siguiente error:
dob.toDateString() no es una función
. Si llamo a este método desde el archivo .ts
, funciona perfectamente, pero cuando lo llamo desde el archivo wxs, da un error.
davy.ai
Solución:
El problema que estás enfrentando se debe a que el archivo wxs no puede acceder a las funciones de los módulos importados. Para solucionar esto, puedes crear una función de filtro personalizada en tu código TypeScript, que se puede utilizar en tu plantilla wxml.
Por ejemplo, puedes crear una función
formatDate
en tu código TypeScript de esta manera:Luego, importa esta función en tu archivo .wxml usando la etiqueta
<wxs>
de la siguiente manera:De esta manera, puedes utilizar la función
formatDate
en tu plantilla wxml para mostrar la propiedaddob
como una cadena.