2016-07-22 58 views
1

我正嘗試使用Angular和離子建立電影目錄。電影類包含ID,標題,圖像和情節。錯誤TS1112:不能將一個類成員聲明爲可選

在第一頁中,應用程序僅顯示標題標題&圖像。它省略了陰謀。

電影類

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

在主打字稿文件,我分配在電影細節如下

export class MainPage implements OnInit{ 

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

但是,這將返回以下錯誤

錯誤TS1112:A類成員不能被聲明爲可選。它指的是「情節」變量。

我該如何實現我的目標?還有其他的選擇嗎?

在此先感謝您的幫助!

回答

2

如果電影僅僅是定義數據結構,並且不包含任何實現代碼,然後只需將其更改爲一個接口:

interface Movie{ 
    id: number; 
    title: string; 
    img: string; 
    plot?: string; 
} 

或者類可以只定義情節沒有?但是,在這種情況下,您需要在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(); 
    } 
} 
+0

您可以添加更多以完成答案。 – Jai

+0

如果我需要實施某些方法會怎樣?如何處理? –

+0

已添加附加信息 –

相關問題