2016-12-13 59 views
1

我在版本2.1.1〜Angular2 @input爲* ngIf不工作(空)

我在這裏嘗試了答案,但沒有建議,爲我工作: Angular 2 Component @Input not working

這裏是我的微調組件,我使用的另一個組件:

import {Component} from '@angular/core' 
import {Post} from './post' 
import {PostsService} from './posts.service' 


@Component({ 
    selector: 'home', 
    template: `<h2>Posts</h2> 

     <spinner [visible]="isloading"></spinner> 

     <ul *ngFor="let post of posts" class="list-group"> 

      <li class="list-group-item"> {{post.body}} </li> 

     </ul> 
    `, 
    providers:[PostsService], 

}) 

export class PostsComponent{ 

    posts:Post[]; 
    isLoading:boolean = true; 

    constructor(private _postsService: PostsService){ 

    } 

    ngOnInit(){ 

     this._postsService.getPosts() 
      .subscribe(posts => { 
       this.isLoading = false; 
       this.posts = posts; 
      }); 
    } 


} 

下面是在瀏覽器輸出的標籤:

<!--template bindings={ 
    "ng-reflect-ng-if": null 
}--> 

我也試過在ngOnInit(初始化「可見的」爲true)和微調將呈現,但我不能然後通過設置isloading爲false再次隱藏它;

+1

請發佈包含微調組件的其他組件。 –

+0

我張貼其他組件 – Mike6679

+0

哈啊,我看到它 - 應該已經「isLoading」而不是「isloading」 – Mike6679

回答

4

您的變量沒有被命名模板和組件之間的相同。

在你有「isloading」,然後在組件「isLoading」的模板。

套管問題。