2017-04-04 6 views
1

私はAngular2アプリケーションを開発していると私は、次のコンポーネントがあります。Angular2プロパティ「xxxは」タイプには存在しない「XXX」

import {Component, OnInit} from '@angular/core'; 
import {CourseAdminService} from "../shared/course-admin.service"; 
import {Course} from "../shared/course"; 

@Component({ 
    selector: 'app-course-admin-list', 
    templateUrl: './course-admin-list.component.html', 
    styleUrls: ['./course-admin-list.component.css'] 
}) 
export class CourseAdminListComponent implements OnInit { 

    courses: Course[] = []; 
    keyword = ""; 

    constructor(private courseAdminService: CourseAdminService) { 
    } 

    ngOnInit() { 
    this.loadMore(); 
    } 

    reset() { 
    this.courses = []; 
    this.loadMore(); 
    } 

    loadMore() { 
    let since: Date = null; 
    let before: Date = null; 

    let len = this.courses.length; 
    if (len > 1000) { 
     since = this.courses[0].creationTime; 
     before = this.courses[len - 1].creationTime; 
    } 

    let subscription = this.courseAdminService.get(since, before, this.keyword) 
     .subscribe(courses => { 
     this.courses = this.courses.concat(courses); 
     subscription.unsubscribe(); 
     }); 
    } 
} 

をそして、私は、次のインタフェースがあります。

export interface Course { 
    id: string; 
    nameEn: string; 
    nameAr: string; 
    trainer: string; 
    type: string; 
    country: string; 
    city: string; 
    level: string; 
    creationTime: Date; 
} 

ここでの問題は、私がアプリをコンパイルしようとすると(angular @ cliを使用して)、それは私にエラー:Property 'creationTime' does not exist on type 'Course'を与え、上記のようにcreationTimeプロパティが実際にインターフェイスの一部であることがわかります。誰も私にここで何が問題なのか教えてもらえますか?

+0

tsファイルをjsファイルにコンパイルしましたか? – echonax

+0

'courseAdminService.get'関数の戻り値は何ですか?それがコースを返すことがないなら、彼は不平を言うことができます。彼がこれが起こったと思うところの行番号を知っているといいのです – Daniel

+0

@echonax私はanglar-cliの 'ng serve'コマンドを使っています。それは自動的に実行されます。 – m2008m1033m

答えて

1

新しいプロパティを追加する、または新しいインターフェイスを作成するなどのインターフェイスを変更する場合は、ng serveコマンドを停止してもう一度やり直す必要があることが判明しました。

関連する問題