2017-05-27 81 views
0

为什么这不会导致错误?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'; 
    }  
} 

回答

2

如果使用

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

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

myFunction(){ 
    this.classyClass.data = 'abc'; 
} 
相关问题