Javascript 错误TS1112:类成员不能声明为可选

Javascript 错误TS1112:类成员不能声明为可选,javascript,angularjs,class,typescript,Javascript,Angularjs,Class,Typescript,我正试图建立一个电影目录使用角度和离子。电影类包含id、标题、图像和情节 在第一页中,应用程序仅显示id标题和图像。它省略了情节 电影类 export class Movie{ id: number; title: string; img: string; plot?: string; } 在主typescript文件中,我分配电影细节如下 export class MainPage implements OnInit{ movies: Movie[]

我正试图建立一个电影目录使用角度和离子。电影类包含id、标题、图像和情节

在第一页中,应用程序仅显示id标题和图像。它省略了情节

电影类

export class Movie{
    id: number;
    title: string;
    img: string;
    plot?: string;
}
在主typescript文件中,我分配电影细节如下

export class MainPage implements OnInit{

    movies: Movie[];
    getMovies(){
        this.movies = [{id: 1, title: 'test', img: 'img1'}]
    }
    ngOnInit(){
        this.getMovies();
    }
}
但这将返回以下错误

错误TS1112:类成员不能声明为可选。它指的是“绘图”变量

我怎样才能实现我的目标?还有其他选择吗


提前感谢您的帮助

如果电影只是定义一个数据结构,不包含任何实现代码,那么只需将其更改为一个接口:

interface Movie{
    id: number;
    title: string;
    img: string;
    plot?: string;
}
或者,类可以只定义plot而不使用?但是,在这种情况下,您需要在getMoves方法中将plot设置为null:

class Movie{
    id: number;
    title: string;
    img: string;
    plot: string;
}

class MainPage {

    movies: Movie[];
    getMovies(){
        this.movies = [{id: 1, title: 'test', img: 'img1', plot: null}]
    }
    ngOnInit(){
        this.getMovies();
    }
}

您可以添加更多内容来完成答案。如果我需要实现某些方法,该怎么办?如何处理?添加了其他info@VyasRao如果确实需要实现方法,请在创建子类时使用扩展而不是实现。