我正在学习angular 2,在这个例子中,我将isLoading的变量设置为true,然后将其更改为false,一旦我获取了我需要的数据,我就会得到错误:
Typescript - 类型'false'不能赋值为'true'
这是代码:
export class AppComponent implements OnInit {
isLoading: true;
constructor(private _articleService: ArticleService, private _postService: PostService){}
ngOnInit(){
this.articles = this._articleService.getArticles();
this._postService.getPosts()
.subscribe(posts => {
this.isLoading = false;
console.log(posts[0].title);
});
}
答案 0 :(得分:10)
不需要一次定义变量的类型,但是您应该设置在开发期间查找错误。另外编辑在知道之前完成代码,因此他知道变量的类型。
export class AppComponent implements OnInit {
isLoading : boolean = true;
constructor(private _articleService: ArticleService, private _postService: PostService){}
ngOnInit(){
this.articles = this._articleService.getArticles();
this._postService.getPosts()
.subscribe(posts => {
this.isLoading = false;
console.log(posts[0].title);
});
}
答案 1 :(得分:8)
isLoading: true;
表示您可以分配给isLoading
的唯一值是值true
。你想要isLoading: boolean
。
答案 2 :(得分:4)
根据评论中的建议和@Louis的回答,这是修复它的正确语法:
isLoading: boolean = true;