封装一个use方法 export function useSmsBehavior(data: TData){ const smsBehavior = Behavior({ data: { useName: "", }, methods: { test(){ ... } }, ... }); return { data: data as TData & { // add data in behavior useName: string; }, smsBehavior, }; } 使用Behavior const {smsBehavior, data} = useSmsBehavior({money: 100}); Component({ behaviors: [smsBehavior], properties: {}, data, method: { getMoney(){ console.log(this.data.money, this.data.userName); this.test(); } } } 方法 declare namespace WechatMiniprogram.Page { interface ILifetime { test():void; } } declare namespace WechatMiniprogram.Component { interface InstanceMethods { test(): void; } } 方法的处理可能会污染没有使用behavior的页面。如果不怕麻烦也可以把properties、methods丢进use方法里处理一下。
使用typescript开发behavior,调用data 的数据过不了类型检测怎么办?1、创建一个behavior,并在组件中引入这个behavior,调用behavior里的data和方法 都会报错不存在该属性或者方法;虽然是可以用as any 就可以调用到,但是有没有更好的解决方法呢? [图片] 2、在组件中引入这个behavior,调用behavior里的data和方法 都会报错不存在该属性或者方法; [图片]
2023-03-15