angular - 导出类的公共属性 X 具有或正在使用来自外部模块“/rxjs/internal/Observable”的名称“Observable”,但无法命名
问题描述
我已经实现了在组件之间共享数据的服务:
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class DataService {
private dataSource = new BehaviorSubject(Object);
public currentData = this.dataSource.asObservable();
constructor() {}
changeData(data) {
this.dataSource.next(data);
}
}
一切正常,直到我尝试构建项目。然后我得到了这个错误:
错误 TS4029:导出类的公共属性“currentData”具有或正在使用来自外部模块“/rxjs/internal/Observable”的名称“Observable”,但无法命名。
解决方案
在我的情况下,错误是针对 Angular 中的 Ionify 库,下面的代码会导致 Angular 库编译出错:
import icSettings from '@iconify/icons-ic/twotone-settings';
...
@Component({
....
})
export class ConfigPanelToggleComponent implements OnInit {
icSettings = icSettings; // This causes error
}
解决方案是使用任何类型,因为 @iconify 库不导出所需的类型。
import icSettings from '@iconify/icons-ic/twotone-settings';
...
@Component({
....
})
export class ConfigPanelToggleComponent implements OnInit {
icSettings: any = icSettings; // No error
}
推荐阅读
- node.js - 如何编写不正确的命令后不停止的不和谐机器人
- sass - 我在 grunt CLI 命令中遇到错误
- javascript - 如何将活动类添加到 svg 路径?
- arrays - 如何使用 PowerShell 加密我的程序配置文件以防止用户看到内容?
- python-3.x - Python3 中的 ASCII 编解码器
- python - 具有特殊字符的短语的正则表达式
- presto - Presto:如何将字符串中的项目提取到列中
- mysql - 在phpadmin中加入两个表
- java - 无法使用java从pdf文件中读取数据
- azure-data-factory - 使用 Azure 数据工厂将文件从 REST API 下载到 Azure 数据湖