Dalam angularjs2, import objek daripada modul lain (objek lain bersarang dalam objek) dan gunakannya Apabila menyusun, konsol menggesa objek itu tidak mengandungi objek bersarang, jadi kompilasi gagal modul ditambah Salin kenyataan terus ke fail yang sama dan semuanya akan baik-baik saja.
Ralat yang digesa oleh konsol adalah seperti berikut:
Kod soalan adalah seperti berikut:
//exercise-detail.component.ts
import { Component } from '@angular/core';
import { Exercise } from './exercise';
let exercise: Exercise = {
id: 1,
name: 'bench press',
exerciseSets: [{
id: 1,
num: 1,
previousWeight: 0,
weight: 10,
reps: 12,
isFinish: true
},{
id: 2,
num: 2,
previousWeight: 0,
weight: 10,
reps: 12,
isFinish: false
}]
};
@Component({
selector: 'exercise-detail',
template: `
<table border='1'>
<tr>
<td>finish?</td>
<td>{{exercise.exerciseSets[1].isFinish}}</td>
</tr>
</table>
`
})
export class ExerciseDetailComponent {
exercise = exercise;
}
//exercise.ts
export class ExerciseSet {
id: number;
num: number;
previousWeight: number;
weight: number;
reps: number;
isFinish: boolean;
}
export class Exercise {
id: number;
name: string;
exerciseSets: ExerciseSet[];
}
Selepas menggabungkan kod dalam dua fail ke dalam satu fail, ia boleh disusun dan output akan betul.
Kod yang digabungkan adalah seperti berikut:
//exercise-detail.component.ts
import { Component } from '@angular/core';
export class ExerciseSet {
id: number;
num: number;
previousWeight: number;
weight: number;
reps: number;
isFinish: boolean;
}
export class Exercise {
id: number;
name: string;
exerciseSets: ExerciseSet[];
}
let exercise: Exercise = {
id: 1,
name: 'bench press',
exerciseSets: [{
id: 1,
num: 1,
previousWeight: 0,
weight: 10,
reps: 12,
isFinish: true
},{
id: 2,
num: 2,
previousWeight: 0,
weight: 10,
reps: 12,
isFinish: false
}]
};
@Component({
selector: 'exercise-detail',
template: `
<table border='1'>
<tr>
<td>finish?</td>
<td>{{exercise.exerciseSets[1].isFinish}}</td>
</tr>
</table>
`
})
export class ExerciseDetailComponent {
exercise = exercise;
}
Saya percaya masalah ini mudah diselesaikan Ia bukan kesilapan tatabahasa atau logik. Seharusnya Typescript mempunyai keperluan untuk fail yang diimport untuk masa yang singkat dan saya harap anda boleh beri saya nasihat.
Saya juga telah menulis sesuatu seperti ini, tetapi apabila saya menetapkan nilai, saya melakukan yang baru dalam constrctor dan ia adalah ok