我有角4的框架組件,看起來像這樣Angular4,無法掩蓋內容
import { ListService } from '../list/list.service';
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'view',
template: `
<div *ngIf="row?.id">
<div>
<p>{{row.id}}</p>
<p>{{row.name}}</p>
<p>{{row.weight}}</p>
<p>{{row.symbol}}</p>
</div>
</div>
<div *ngIf="!row">test</div>
<router-outlet></router-outlet>
`,
styles: []
})
export class ViewComponent implements OnInit {
constructor(private route: ActivatedRoute,
private service: ListService) {
this.route.params.subscribe(params => {
const id = parseInt(params['id']);
if (id) {
this.row = this.service.getRow(id);
console.log(this);
}
});
}
row;
ngOnInit() { }
showInfo(){
console.log(this)
}
}
而第一*ngIf="row?.id"
作品就好了,第二個行爲古怪的意義總是true
,我做了什麼了嗎?
編輯:
當我測試它似乎ViewComponent不能正確更新,這意味着當我執行console.log
內constructor > after if condition
Viewcomponent有3個屬性route
,service
和row
但是當我創建功能
showInfo(){
console.log(this)
}
現在this
- >ViewComponent
只有2個屬性route
和service
這可能是一些問題與範圍?
當你希望它是假的呢? –
我預計當沒有人點擊任何一行時它將會是假的 – Viszman