【发布时间】:2017-07-30 16:44:27
【问题描述】:
是否可以使用装饰器通过一些自定义信息来标记接口的某些属性?
最好用一个例子来解释:
应用状态界面:
export interface AppState {
@persist userData: UserData,
@persist selectedCompany: UserCompany,
// userCompanies should not be persisted since they are always
// fetched afresh from the server...
userCompanies: UserCompany[]
}
保留所有相关状态信息的方法:
persistState(state) {
let newState = {};
Object.keys(state).forEach((key) => {
if (state[key] is decorated with @persist) {
newState[key] = state[key];
}
});
// Persist newState...
}
这可能吗?
如果是这样,我真的很感激一些资源可以为我指明正确的方向!
如果没有,是否有任何优雅的替代方案?
【问题讨论】:
标签: typescript interface decorator