Создайте класс в Angular и используйте его в компоненте для назначения значений - PullRequest
0 голосов
/ 28 февраля 2020

country-class.ts

export class CountryClass {
  name: string;
  states: string[];
  cities: string[];
}

Это класс, который я создал. Но теперь я не могу использовать другой компонент.

Это компонент

: home-page.component.ts

import { Component, OnInit } from '@angular/core';
import {CountryClass} from '../country-class';

@Component({
  selector: 'app-home-page',
  templateUrl: './home-page.component.html',
  styleUrls: ['./home-page.component.css']
})
export class HomePageComponent implements OnInit {
  countryString:CountryClass[] [
    { 'name' :"India",
    statename :['Odish','WestBengal'],
    cities:['Bhubaneswar','Kolkata'];}
  ]

  constructor(private country:CountryClass) { }

  ngOnInit() {
  }
}

Ошибка при использовании свойство класса в этом компоненте. Может быть, я что-то упустил. Ошибка, которую я получаю, это:

provide your error here

Я использую angular через 1 год и забыл некоторые из ее основ, я думаю, даже не могу найти никакого правильного ответа на это. Было бы здорово, если бы кто-нибудь там помог мне с этим.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

сделайте ваш класс CountryClass классом обслуживания, добавив

@Injectable({
  providedIn: 'root'
})
export class CountryClass {
  name: string;
  states: string[];
  cities: string[];
}
0 голосов
/ 28 февраля 2020

constructor(private country: CountryClass) { } Если вы передаете что-то в конструктор ваших компонентов, это dependency. Инжектор разрешает ваши зависимости и пытается разрешить CountryClass, который вы не пометили как инъекционный и не зарегистрировались в качестве поставщика. Я думаю, вы просто хотели добавить личное поле. Делай как обычно, а не из конструктора.

...