javascript – Beim Importieren von Objekten aus anderen Modulen in AngularJS2 ist das Kompilierungsaufforderungsattribut im Objekt nicht vorhanden
给我你的怀抱
给我你的怀抱 2017-05-18 10:57:37
0
1
579

Importieren Sie in anglejs2 Objekte aus anderen Modulen (ein anderes Objekt ist innerhalb des Objekts verschachtelt) und verwenden Sie es. Beim Kompilieren meldet die Konsole, dass das Objekt das verschachtelte Objekt nicht enthält, sodass die Kompilierung fehlschlägt Das Modul wird hinzugefügt. Kopieren Sie die Anweisung direkt in dieselbe Datei, und alles wird gut.

Der von der Konsole angezeigte Fehler lautet wie folgt:

Der Fragecode lautet wie folgt:

//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[];
}

Nachdem die Codes in den beiden Dateien in einer Datei zusammengeführt wurden, kann diese kompiliert werden und die Ausgabe ist korrekt.
Der zusammengeführte Code lautet wie folgt:

//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;
}

Ich glaube, dass es sich bei diesem Problem nicht um einen grammatikalischen oder logischen Fehler handelt. Es sollte sein, dass Typescript erst seit kurzer Zeit verwendet wird und ich hoffe, dass Sie es können Gib mir einen Ratschlag.

给我你的怀抱
给我你的怀抱

Antworte allen(1)
伊谢尔伦

我也写过这样的, 只不过我赋值的时候是在 constrctor里面 new了一下,就ok了

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage