2017-09-22 45 views
0

這是我真正的錯誤:如何解決Angular中沒有導出的成員錯誤?

Failed to compile. 
C:/Examples/my-app/src/app/lake.service.ts (4,10): Module '"C:/Examples/my-app/src/app/lake-info"' has no exported member 'LAKES'. 

這裏是lake-info代碼:

import { Lake } from './lake'; 

export const LAKES: Lake[] = [ 
    { name: 'Manitoba'}, 
    { name: 'Khanka'} 
]; 

這裏是lake.service.ts代碼:

import { Injectable } from '@angular/core'; 

import { Lake } from './lake'; 
import { LAKES } from './lake-info'; 

@Injectable() 
export class LakeService { 
    getLakes(): Lake[] { 
    return LAKES; 
    } 
} 

這裏是lake.ts的代碼:

export class Lake { 
    name: string; 
} 

我在Angular網站上關注this tutorial。我的lake-info文件基於this file

讓我知道如果我需要添加更多的細節。

+0

你怎麼導入湖泊? –

+0

分享你的lake.service.ts! –

+0

@GauravSrivastava我在添加代碼。 :) –

回答

1

定義lake.ts在同一文件夾中的文件,並添加以下代碼:

export class Lake { 
    constructor(public id = 0, public name = '') { } 
    clone() { return new Lake(this.id, this.name); } 
} 

您可以根據您的要求定製的。

+0

Angular網站上的教程是否錯誤?他們在文件中似乎沒有相應的代碼。 :) 我也在我的問題中加入了'lake.ts'的代碼以供參考。 –

+0

@VineetSharma yes看起來他們錯過了教程 –

+0

@VineetSharma上的hero.ts代碼,你應該在添加lake.ts之後得到這個錯誤,我在本地測試它。請重新編譯代碼。 –

0

我在plnkr中嘗試你的代碼,沒關係。

https://plnkr.co/edit/kW6B5VSxcmrwQiyQshQT?p=preview

難道你移動你的項目代碼到plnkr並分享給我嗎?

也許是你編譯錯誤的原因是導入順序(我不確定,只是猜測)。

嘗試拖動文件導入的拓撲圖並檢查圖中是否爲循環。

在我plnkr的情況下,圖中是像下面並沒有循環(循環進口是不是不允許的,但很容易造成問題):

lake.ts <- lake-info.ts 
^^  ^^ 
| |   | | 
| lake.service | 
| ^  | 
|  |  | 
app.component.ts 
相關問題