Не умеет применять `interface` в классе - PullRequest
0 голосов
/ 15 марта 2019

Я создаю модель для назначения «языка» следующим образом:

export interface ModelLang {
    lang:string;
}

То же самое было добавлено с состоянием приложения, как:

import { ModelLang } from "./shared-components/state/models";

export interface AppState {
    lang:ModelLang
}

Но когда я использую в компоненте приложения присвоение строки, получающей ошибку как Eng not assignable to type ModelLang - здесь какой тип идет не так?

app.component.ts:

/ ** * Поддержание почти идеального. просто для целей загрузки маршрутизатора. * * импорт JQuery для приложения! * /

import { Component, OnInit } from '@angular/core';
import { Store, select } from "@ngrx/store";
import { AppState } from "./app.state";
import { Lang } from "./shared-components/state/shared.actions";
import { ModelLang } from "./shared-components/state/models";
import * as $ from 'jquery';

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {

    lang:ModelLang = "Eng"; //throws error

    constructor(private store:Store<AppState>){}

    ngOnInit(){
    }


}

Демонстрационная версия

1 Ответ

1 голос
/ 15 марта 2019

вы пытаетесь присвоить строку типизированной переменной, попробуйте следующее.

lang: ModelLang = {lang: "Eng"};

...