[英]Define arrays within array in Angular 2 and Typescript
在Angular 2中,我想知道是否可以定义一个包含多个其他数组的数组。 仅显示我的意思可能更容易:
我开始使用这个:
export class PaymentDetails {
account: any[];
bpNumber: number;
}
但这给了我一个问题,当我填充它时,我实际上无法访问account数组中的数据,因为我想在其中包含更多的数组。
所以现在我想像这样定义我的班级:
export class PaymentDetails {
account: [
debitAccount: [
{
debitAccountId: string;
debitBankCode: string;
debitBankName: string;
debitCountryCode: string;
debitAccountNumber: string;
debitAccountHolder: string;
debitContinous: string;
debitDueDate: string;
iban: string;
bic: string;
}
],
ccAccount: [
{
ccAccountId: string;
ccCompanyCode: string;
ccNumber: string;
ccStart: string;
ccExpiry: string;
ccDsbTransactionId: string;
ccCardholderName: string
}
]
];
bpNumber: number;
}
这是可能吗?
该类正在使用此InMemoryDataService填充
export class InMemoryDataService {
createDb() {
let paymentDetailsDB = [
{
account: [
{
debitAccount: [
{
debitAccountId: '8736583',
debitBankCode: '45345',
debitBankName: 'KSK HGTT',
debitCountryCode: 'DE',
debitAccountNumber: '123453463',
debitAccountHolder: 'A Berg',
debitContinous: '',
debitDueDate: '',
iban: 'DE12344235',
bic: '324645',
},
{
debitAccountId: '6567456',
debitBankCode: '55463453',
debitBankName: 'GRDFE',
debitCountryCode: 'DE',
debitAccountNumber: '000123492',
debitAccountHolder: 'A Berg',
debitContinous: '',
debitDueDate: '',
iban: 'DE43523453',
bic: '123547665',
}
],
ccAccount: [
{
ccAccountId: '23413',
ccCompanyCode: '254345',
ccNumber: '238857827368837',
ccStart: '2010-10-05',
ccExpiry: '2018-10-05',
ccDsbTransactionId: '235231',
ccCardholderName: 'Anne Berg',
}
],
}
],
bpNumber: 4711,
}
];
return {paymentDetailsDB};
}
}
您的定义应如下所示:
匿名类型变体:
export class PaymentDetails {
accounts:
{
debitAccounts:
{
debitAccountId: string;
debitBankCode: string;
debitBankName: string;
debitCountryCode: string;
debitAccountNumber: string;
debitAccountHolder: string;
debitContinous: string;
debitDueDate: string;
iban: string;
bic: string;
}[],
ccAccounts:
{
ccAccountId: string;
ccCompanyCode: string;
ccNumber: string;
ccStart: string;
ccExpiry: string;
ccDsbTransactionId: string;
ccCardholderName: string
}[],
bpNumber: number;
};
}
命名类型(您应该使用此!!)
export class DebitAccount {
Id: string;
BankCode: string;
BankName: string;
CountryCode: string;
Number: string;
Holder: string;
Continous: string;
DueDate: string;
iban: string;
bic: string;
}
export class CcAccount {
Id: string;
CompanyCode: string;
Number: string;
Start: string;
Expiry: string;
DsbTransactionId: string;
CardholderName: string
}
export class Account {
debitAccounts: DebitAccount[];
ccAccounts: CcAccount[];
bpNumber: number;
}
export class PaymentDetails {
account: Account[];
}
嵌套数组可以定义如下:
items = [
{name:'xyz', subMenuItem:[{name:'abc'}, {name:'cde'}], icon:'home'},
{name:'pqr', subMenuItem:[{name:'abc'}, {name:'cde'}], icon:'home'},
];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.