@Component({
selector: 'mh-feature-popup',
template: `
<div class="full">
<div>
<div class="container-fluid" [@featurepop]="state">
<div class="row">
<div class="col-xs-12 col-md-4 col-md-offset-4 popup">
<div class="row">
<div id="shadow-card">
<div class="col-xs-12 dialog-header hidden-md hidden-lg">
<div class="col-xs-1 skeleton hidden-md hidden-lg clickCursor" (click)="toggleState()">
<div class="close"></div>
</div>
<div class="text_heading col-xs-10">
<span *ngIf="name">{{name}}</span>
</div>
</div>
<div class="row dialog-content">
<div class="dialog-title skeleton col-md-10 col-md-push-1 hidden-xs hidden-sm">
<span *ngIf="name">{{name}}</span>
</div>
<div class="col-md-2 skeleton hidden-xs hidden-sm clickCursor" (click)="toggleState()">
<div class="close"></div>
</div>
</div>
<div *ngIf="data" #data_value>{{data}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
`,
styles:[`
.full{
background-color: rgba(0,0,0,0.2);
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 999;
}
`],
providers:[ ApiService ],
animations: [
trigger('featurepop', [
state('inactive', style({
transform: 'scale(0)'
})),
state('active', style({
transform: 'scale(1)'
})),
transition('inactive => active', [
animate(250)
]),
transition('active => inactive', [
animate(250)
])
])
]
})
export class FeaturePopUpComponent {
state = 'inactive';
@Input()
data;
@Input()
name;
show(a,b,c){
this._api.get(a,b,c).subscribe(
data => {
this.data = {'data': a};
this.name = {'name': b};
console.log(this.data);
},
err => console.log(err),
() => {
this._zone.run(() => {
this.rend.setElementStyle(this.element.nativeElement,"display","block");
this.toggle();
console.log(this.state);
});
}
);
}
}
這是一個彈出組件。所以它應該是隱藏的,當show()函數被調用時,它應該顯示從API調用接收到的內容。組件DOM沒有更新|角通用
show()函數正在工作,但唯一的問題是,我得到的數據沒有顯示在組件(空彈出)。
onChange()工作時,我改變屏幕大小,但沒有數據改變時。我試圖將數據更改爲JSON對象。我嘗試使用changeDetection.Ref和NgZone,但沒有工作。用ngDoCheck()也試過,但不起作用。
我使用angular-universal starter kit。如果任何人都可以使它工作,請讓一個jsfiddle或任何。
不確定是否有問題,但我看到一個問題 - 組件修改了輸入數據,輸入數據應該是不可變的 –
如果你沒有發現問題,請運行它...你會看到它。 。我嘗試了所有的組合...我嘗試了沒有輸入太多,並輸入不可變... –
請創建一個plunk,我會嘗試更新,使其工作 –