2017-11-02 1 views
0

Ich habe Offset Wert in BehaviorSubject wie folgt gespeichert.Wie kann ich den Eigenschaftswert von BehaviorSubject an let- * von ng-template binden?

pagingVariables$: BehaviorSubject<QueryPagingVariables> = new BehaviorSubject({ 
    offset: 0, 
    limit: 10 
}); 

Wie kann ich es mit let- * Syntax an ng-template übergeben?

Ich habe unten Code versucht und bekam Syntaxerror: unerwartetes Token (

<ng-template let-pageSize="(pagingVariables$ | async)?.offset" ... 

Edit:. (modifizierte Version Antwort Sebastian)

Dank @SebastianYour answer das gab Idee, aber ich habe "SyntaxError: Unexpected Token." mit dem Code bei der Antwort gezeigt. So habe ich es geändert:

<div *ngIf="(pagingVariables$ | async)?.offset as pageSize"> 
    <ng-template let-pageSize="pageSize" ... 

Alternative Lösungen (wenn es ohne Verpackung in * ngIf möglich ist) sind apprecited ...

+0

wo nennst du 'subscribe' und' next'? Sie könnten 'pagingVariables $ .next()' haben und setzen Sie Ihren nächsten Wert zurück. –

Antwort

0

kapseln die ng-Vorlage in einem div (oder ng-Container) wie folgt aus:

<div *ngIf="{pagingVar: pagingVariables$ | async} as data"> 
    <ng-template let-pageSize="data.pagingVar?.offset"> 
    </ng-template> 
</div> 
Verwandte Themen