Javascript/Typescript这是指错误的范围

Javascript/Typescript这是指错误的范围

问题描述:

如何从一个子对象内引用父对象变量?Javascript/Typescript这是指错误的范围

此处的子对象内的'this'指的是子对象本身。不过,我需要引用父对象。我怎么能做到这一点?

export class Parent { 

    load() { 
      this.options = { 
       this. //Problem here! this refers to options object and not 
        // parent 
      } 
    } 
} 

上面的代码非常粗糙。并不意味着它会非常卑鄙。

+0

[这个工作](https://www.typescriptlang.org/play/#src=class%20Parent%20%7B% 0A%20%20%20%20private%20options%3A%20any%3B%0A%20%20%20%20private%20X%3A%20number%20%3D%203%3B%0A%0A%20%20% 20%20load()%20%7B%0A%20%20%20%20%20%20%20%20this.options%20%3D%20%7B%0A%20%20%20%20%20% 20%20%20%20%20%20%20×%3A%20this.x%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20% 7D%0A%7D)罚款。也许你可以更具体地解释你的问题。 –

此关键字的作用与其他语言不同。它保存调用代码的对象的值。由于选项对象已经调用它,这就是'this'对象。

var that = this; 

你可以把它放在你的父构造函数中来创建对父对象的引用。

我建议你看看这篇博客,非常有帮助的:http://javascriptissexy.com/understand-javascripts-this-with-clarity-and-master-it/