2017-09-20 11 views
0

私はapp.resolver.service.ts内に抽象クラスを持っています。 開発中ですが、PRODビルドでエラーが発生しています。Angular Cli:Angular 4の「抽象クラス」で-prodビルドが失敗する

import { Injectable } from '@angular/core'; 
import { HttpClient } from '@angular/common/http'; 
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; 

// Annotation section 
@Injectable() 

abstract class RequestResolver implements Resolve<any> { 
     abstract dataUrl: string; 
     constructor(public http: HttpClient){ 
     this.http = http; 
     } 
     abstract resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) 
    } 

    export class ProjectResolver extends RequestResolver { 
     dataUrl: string = "https://api.citysdk.waag.org/layers/parking.garage/objects?per_page=50"; 

     public resolve() { 
     return this.http.get(this.dataUrl); 
     } 
    } 

enter image description here

Iは抽象クラスなしで実施例を発見

import { Injectable } from '@angular/core'; 
import { HttpClient } from '@angular/common/http'; 
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; 

// Annotation section 
@Injectable() 

export class ProjectResolver { 
    private dataUrl: string = "https://api.citysdk.waag.org/layers/parking.garage/objects?per_page=50"; 

    constructor(public http: HttpClient){ 
    this.http = http; 
    } 

    public resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) { 
    return this.http.get(this.dataUrl); 
    } 
} 
+0

'@ Injectable'デコレータを使用していますか? – yurzui

+0

@yurzuiはい私のサービスはこれを持っています –

+0

コードに追加できますか? – yurzui

答えて

0

角度は、注射()デコレータを持つクラスを作成しようとします。これは抽象クラスであるため、インスタンス化することはできません。

関連する問題