如何解决Angular中的无导出成员错误?

时间:2017-09-22 06:22:53

标签: 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

如果我需要添加更多详细信息,请与我们联系。

2 个答案:

答案 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