首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从订阅的角度2“这个”关键字引用类?

如何从订阅的角度2“这个”关键字引用类?
EN

Stack Overflow用户
提问于 2017-07-01 08:07:49
回答 2查看 2K关注 0票数 1

我有一个可观察的订阅,所以当它完成时,我需要它从这个类调用一个函数,问题是" this“关键字指的是订阅,而不是类范围。代码:

代码语言:javascript
运行
复制
export class GoogleMapComponent{

Position:object;

constructor(public MapFunctionsProvider: MapFunctionsProvider) { 

  let posObservable = this.MapFunctionsProvider.getPosition();

      posObservable.subscribe(data =>{
          this.Position = data;
          this.createMap();// this keyword refers to the subscription
      }); 

      function createMap(){
        console.log('run')

    }
}

如何调用createMap()而不声明"this“关键字的新变量?

EN

回答 2

Stack Overflow用户

发布于 2017-07-01 08:14:22

在constructor.because this之外实现引用GoogleMapComponent类的函数

代码语言:javascript
运行
复制
export class GoogleMapComponent {

    Position: object;

    constructor(public MapFunctionsProvider: MapFunctionsProvider) {

        let posObservable = this.MapFunctionsProvider.getPosition();

        posObservable.subscribe(data => {
            this.Position = data;
            this.createMap(); // this keyword refers to the subscription
        });


    }

    createMap(): any {
        console.log('run')

    }
}
票数 2
EN

Stack Overflow用户

发布于 2017-07-01 10:01:38

这与角无关,它是ES6的一个新特性。

当您使用箭头函数()=>()时,this.总是引用类实例,而不管如何嵌套。

如果不想要这种行为,仍然可以使用function(){}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44858770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档