我开始将NGXS集成到我的角度项目中,并面临着一个进退两难的局面。
目前,我的所有模型都是类,它还包含处理模型的方法(助手方法,以及操作)。
我知道,使用NGXS时,动作不应该在模型对象中,应该移到操作/状态文件中。
然而,我不知道如何处理其他方法。
一方面,将它们放置在服务中似乎是人为的,因为这些服务主要用于CRUD操作。此外,我能找到的关于不包括NGXS的角度的每一个教程都提倡使用封装模型功能的模型类。
另一方面,到目前为止,我看到的所有NGXS示例都只使用接口作为模型。
下面是一个示例模型类:
export class Person {
static readonly ADULT_TIME = 18 * 365 * 24 * 60 * 60 * 1000;
name: string;
dateOfBirth: Date;
constructor(name: string, dateOfBirth: Date) {
this.name = name;
this.dateOfBirth = dateOfBirth;
}
public isAdult(): boolean {
return (Date.now() - this.dateOfBirth.getTime()) >= Person.ADULT_TIME;
}
}这种模式的一个接口是:
export interface Person {
name: string;
dateOfBirth: Date;
}在使用NGXS (例如isAdult())时,对于如何处理与模型相关的方法,有什么标准方法吗?或者,是否有可能/建议与NGXS一起使用模型类?
发布于 2019-03-20 02:34:43
简而言之,对状态模型使用接口/对象文本。如果您想要更丰富的模型,可以使用Selector从存储在状态中的内容进行转换。
这里是NGXS页面上的一个讨论re:类或接口。它还显示了一些建议的解决方案。
https://stackoverflow.com/questions/55198785
复制相似问题