我有阵列
let awards = [
{
finished: 1,
awardName: 'The beginning',
description: 'Complete one excersise'
},
{
finished: 5,
awardName: 'Five of a kind',
description: 'Complete five excersises'
},
]
在我的组件中,它使我的代码混乱。那么什么是最佳实践,我应该把它放在哪里。在我看来,我认为它应该分开文件awards.ts
,然后将其导入我的组件?我像这样使用那个数组
this.awards.forEach(award => {
if (this.numbOfFinished === award.finished) {
if (res.find(r => (r.key === award.awardName))) ...
是否存在专用类型的文件,如接口或打字稿/ Angular中的某种东西?感谢。
答案 0 :(得分:1)
我通常将这些生成的对象放在一个单独的服务中。
创建一个AwardService并实现一个getter,(如果需要的话)一个setter和一个构造函数。
在构造函数中构建对象(例如)。
在需要的地方导入服务,以获取awards-object的实例。
那是干净且可回收的。
实施例
import { Injectable } from '@angular/core';
@Injectable()
export class AwardService {
private awards: any;
constructor() {
this.awards = [
{
finished: 1,
awardName: 'The beginning',
description: 'Complete one excersise'
},
{
finished: 5,
awardName: 'Five of a kind',
description: 'Complete five excersises'
},
]
}
public getAwards(): any {
return this.awards;
}
// if needed
public setAwards(value: any) {
this.awards = value;
}
}