angular – tslint error阴影名称:’Observable’

前端之家收集整理的这篇文章主要介绍了angular – tslint error阴影名称:’Observable’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在运行tslint时收到以下错误,我之前没有收到..
ERROR: C:/...path..to../observable-debug-operator.ts[27,13]: Shadowed name: 'Observable'

我跟着这个tutorial添加了一个调试操作符给Observable,它工作正常,除了我得到这个lint错误.我一直在使用这个调试操作符一段时间没有得到lint错误,我不知道为什么我现在得到它.

这是第27行的代码,用于使用调试方法修改类型定义

declare module 'rxjs/Observable' {
  interface Observable<T> { // line 27
    debug: (...any) => Observable<T>;
  }
}

有谁知道我怎么能清除这个lint错误?谢谢!

以下是变量阴影的快速示例,以使警告清晰.
var x = 4;

function example() {
    var x = 5; // x is shadowing the outer scope's x variable
}

如果你声明一个接口的扩展(即Observable的两个实例都具有相同的公共根),你在技术上不是阴影,但是如果你有一个多级的Observable,它可能会让你不清楚你所指的是什么.

您可以使用以下选项关闭阴影警告:

"no-shadowed-variable": [
  true,{
    "class": true,"enum": true,"function": true,"interface": false,"namespace": true,"typeAlias": false,"typeParameter": false
  }
]

界面阴影是TypeScript中的问题吗?

不是真的 – 你会发现在一个函数内部声明了一个接口的情况,你也会抓到它,因为如果它是一个问题,TypeScript编译器就会告诉你有问题…即成员列表会告诉你两个范围中的正确成员.

接口也被擦除 – 因此没有后编译混淆,例如,如果有人在JavaScript程序中使用您的TypeScript库.

如果有人可以提供界面阴影会导致问题的实际示例,我很乐意改变我的观点.

猜你在找的Angularjs相关文章