无法在课程中应用“接口”

时间:2019-03-15 05:01:20

标签: angular7 typescript2.0

我创建一个用于分配“语言”的模型,如下所示:

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(){
    }


}

Live Demo

1 个答案:

答案 0 :(得分:1)

您正在尝试将字符串分配给类型变量,请尝试以下操作。

  

lang:ModelLang = {lang:“ Eng”};