Angular 2 Typescript 类属性允许分配不正确的类型



为什么这不会导致错误?

export class Foo {
    a: any;
    b: number;
}
export class MyClass {
    public data: Array<Foo>;
}

我将一个字符串分配给 MyClass 的属性,但没有导致错误。这不应该导致错误吗?

export class MyComponent {    
    classyClass: MyClass;
    constructor() {
        this.classyClass = new MyClass();
    }
    myFunction = function() {
       this.classyClass.data = 'abc';
    }    
}

如果你使用

myFunction = function() {
    this.classyClass.data = 'abc';
}

然后this将指向myFunction实例,而不是您的组件。您应该使用:

myFunction(){
    this.classyClass.data = 'abc';
}

最新更新