2017-12-07 7 views
0

私が使用しています:https://tochoromero.github.io/aurelia-table/Aurelia.jsフレームワークアウレリア・テーブルの改ページ

を私は小さな問題があると私はあなたの助けをお願いしたいと思います。私が使用しようとした、5ページの1が33の項目をOS:pagination-size:を誰かがこれで私を助けることができる、私のために動作しませんでした

<table class="table table-striped" aurelia-table="data.bind: 
    filters.bind: filters; 
    current-page.bind: currentPage; 
    page-size.bind: pageSize; 
    total-items.bind: totalItems;"> 
    </table> 

    <label>${currentPage} - ${pageSize} of ${totalItems}</label> 

私は5ページを持っているように私には表示されるでしょうか?ありがとうございました。

+1

バインディングで 'two-way'を使うことにバインドしますか? –

+0

どのような双方向の意味ですか?私はこれを見つけることができませんでした。 – Raduken

+0

バインドで 'two-way'を使うことで、バインディングを2通りに強制することができます。 @Jesseはこれを受け入れられた答えで使用しています: 'current-page.two-way:currentPage;' –

答えて

1

アイテムの総量があり、各ページにいくつの数があるのか​​分かっている場合は、簡単な数学の問題です。

// Compute the amount of pages. 
var amountOfPages = Math.ceil(totalItems/pageSize); 

HTML:

<!-- two-way binding as suggested in the comments to update the variables in the viewmodel --> 
<table class="table table-striped" aurelia-table="data.bind: data; 
    filters.bind: filters; 
    current-page.two-way: currentPage; 
    page-size.bind: pageSize; 
    total-items.two-way: totalItems;"> 
</table> 
<label>Page: ${currentPage} of ${amountOfPages} (${totalItems} items)</label> 

あなたのデータは動的であり、更新することができた場合は、get -functionに変数を変えることができます:あなたが使用してから切り替える場合は、 `どうなり

@computedFrom('totalItems', 'pageSize') 
public get amountOfPages() { 
    return Math.ceil(totalItems/pageSize); 
} 
+0

非常に役に立ちました、ありがとうございました。しかし、なぜ私はHTMLで読み込まれていないtotalPagesを知っていません。 1つのいいえ。 – Raduken

+1

ああ、私のビュー(js)にその変数 –

+0

をバインドする必要はないことが分かりました。私はこれをやっていました:this.pageSize = 10; this.currentPage = 1; totalPages = 1だがまだ何も表示していない:( – Raduken