使用typescript开发behavior,调用时类型检测不过
解决方案一:(简洁但是不够优雅)
behavior本质也是个object,所以可以按照普通object操作
const DetailBehavior = require('../behavior/productDetail')
data:{
...DetailBehavior.data
},
methods:{
...DetailBehavior.methods,
}
解决方案二:
在类型声明中typings/index.d.ts进行声明类型扩展
// typings/index.d.ts
declare namespace WechatMiniprogram.Page {
interface ILifetime {
getExtendInfo(tabList: never[],N:number): Partial<{ tabList: never[]; }>;
}
}
declare namespace WechatMiniprogram.Component {
interface InstanceMethods<D extends DataOption> {
getExtendInfo(tabList: never[],N:number): Partial<{ tabList: never[]; }>;
}
}