这是我的实际错误:
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 :(得分:1)
在同一文件夹中的 lake.ts 中定义文件并添加以下代码:
export class Lake {
constructor(public id = 0, public name = '') { }
clone() { return new Lake(this.id, this.name); }
}
您可以根据自己的要求进行自定义。
答案 1 :(得分:0)
我在plnkr中尝试你的代码,那没关系。
https://plnkr.co/edit/kW6B5VSxcmrwQiyQshQT?p=preview
您可以将项目代码移至plnkr并与我分享吗?
可能是编译错误的原因是导入顺序(我不确定,只是猜测)。
尝试拖动文件导入的拓扑图,并检查图中是否为循环。
对于我的plnkr,图形如下图所示,没有循环(不允许循环导入,但很容易引起问题):
lake.ts <- lake-info.ts
^ ^ ^ ^
| | | |
| lake.service |
| ^ |
| | |
app.component.ts