Angular Проект - PullRequest
       6

Angular Проект

0 голосов
/ 16 июня 2020

Для университета мне нужно написать проект в Angular. Нам нужно написать следующий проект: - Создать класс автомобилей - Создать класс спортивного автомобиля, который наследует класс автомобиля. - Создайте гоночный класс для класса спортивных автомобилей. - Показать два спортивных автомобиля с тремя гонками в каждом.

Я пишу все классы, но в командной строке у меня такая ошибка: «Класс 'CarComponent' указан в объявлениях NgModule 'AppModule', но является не директива, компонент или канал. Либо удалите его из объявлений NgModule, либо добавьте соответствующий Angular декоратор. "

Это мой код машинописного текста:

`import { Component } from '@angular/core';

@Component({
  selector:'app-car',
  templateUrl:'./car.component.html'
})

public class Car {
  name:string;
  model:string;
  price:number;
  year:number;

  constructor(name:string,model:string,price:number,year:number){
    this.name=name;
    this.model=model;
    this.price=price;
    this.year=year;
  }
}

class SportCar extends Car{
  private raceNumber:number;
  private Races:race[];

  public getAllRaces() {
    let temp:race[];
    for (let index = 0; index < this.Races.length; index++) {
      let tempRace= new race(this.Races[index].location,this.Races[index].date,this.Races[index].line,this.Races[index].placeInRace,this.Races[index].isWinner);
      temp.push(tempRace);
    }
    return temp;
  }

  public addNewRace(location:string,date:string,line:string,placeInRace:number,isWinner?:boolean) {
    if(!isWinner){
      let newRace:race = new race(location,date,line,placeInRace);
      this.Races.push(newRace);
    }
    else{
      let newRace:race = new race(location,date,line,placeInRace,isWinner);
      this.Races.push(newRace);
    }
  }
}

class race {
  constructor(public location:string,public date:string,public line:string,public placeInRace:number, public isWinner?:boolean) {
  }
}

export class CarComponent {
  let car1 = new Car('Ferrari', '488 Spider', 500000, 2007);
  let car2= new Car('McLaren','F1 GTR',5300000,1995);
//I need to write their races
  }`

а это код модуля app.

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { CarComponent } from './car/car.component';

@NgModule({
  declarations: [
    AppComponent,
    CarComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Спасибо

1 Ответ

0 голосов
/ 16 июня 2020

Сначала вы должны разместить декоратор '@Component' чуть выше объявления класса CarComponent, например:

@Component({
  selector:'app-car',
  templateUrl:'./car.component.html'
})
export class CarComponent {

}

Затем вам нужно узнать больше о классах в TypeScript: https://www.typescriptlang.org/docs/handbook/classes.html

...