作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个订阅语句,我正在尝试调试它,但是当我在 VS Code 中单步执行时,“this”在语句内始终未定义。在这种情况下,“this.dataLoaded”未定义。如何在调试时使其不为未定义?
this.router.events
.filter(event => (event instanceof NavigationEnd))
.subscribe((routeData: any) => {
if(!this.dataLoaded){
...
}
});
最佳答案
当您使用.subscribe()
时,在 Angular 中它可能不会得到this
。就我而言,我使用了另一个复制品。它总是对我有用。它也可能适合你。
var that = this; // Hear I store the this ref into another that
this.router.events
.filter(event => (event instanceof NavigationEnd))
.subscribe((routeData: any) => {
if(!that.dataLoaded){ // Hear you can use that instead of this
...
}
});
关于angular - 'This' 在 subscribe 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52974811/
我是一名优秀的程序员,十分优秀!