我的代码如下所示:
interface ImyInterface {
v: number;
}
class A implements OnInit {
ngOnInit() {
let myObservable$ = getObs();
myObservable$.subscribe(data => {
const foo = data as ImyInterface;
foo. // <-- VS Code IDE autcompletes with 'v'
});
}
};
但是,我认为声明一个额外的变量是一个很小的开销,所以我尝试这样做:
myObservable$.subscribe(data => {
data = data as ImyInterface;
data. // <-- VS Code IDE didn't autocomplete
});
为什么这种方法会失败?我认为这与变量范围有关,也许还与阴影有关?我不知道,因为我是初学者。
最佳答案
你应该尝试这样做:
myObservable$.subscribe((data: ImyInterface) => {
alert(data.v);
});
使用上面的代码,您声明您的订阅函数需要一个实现 ImyInterface
接口(interface)的参数。
关于javascript - 无法将箭头函数的参数转换为接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46532655/