2017-05-27 101 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'; 
} 
相關問題