Angular2 @Input для *ngIf не работает (ноль)
Я на версии ~2.1.1
Я попробовал ответ здесь, но никакие предложения не работали для меня: Angular 2 Component @Input не работает
Вот мой компонент счетчика, который я использую в другом компоненте:
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
}-->
Я также попытался инициализировать "visible" в true в ngOnInit(), и счетчик покажет, но я не могу скрыть его снова, установив isloading в false;
1 ответ
Решение
Ваши переменные не названы одинаково между шаблоном и компонентом.
В шаблоне у вас есть "isloading", а в компоненте "isLoading".
Оболочка имеет значение.