2

PagerJSをknockoutjsと組み合わせて使用​​して、単純なページング/履歴URLナビゲーションを有効にします。

PagerJSは#search?text = testtext&year=2013のようなパラメータをサポートします

私はそのようなページを次のように定義しました:

<div data-bind="page: {id: 'search', params: ['text', 'year']}">
</div

テキストと年は、ビューモデルの2つのオブザーバブルです。URLを#search?text = testtext&year = 2013に設定すると、テキストはtesttextで、年は2013で、ページ検索が表示されます。

しかし、今、私は特定のパラメータを持つこのページへの簡単なリンクが必要です。

<a data-bind="page-href: 'search'"></a>

この行は#search(paramsなし)へのリンクを作成しますが、特定のparamsを含む検索ページへのリンクが必要です。これを行う方法はありますか?

4

2 に答える 2

2

ソリューションは機能しますが、リンクは非常に静的です。それを操作したり、パラメータをオブザーバブルに接続したりするのは困難です。

pager.jsフレームワークは、過去数週間でその機能を拡張し、拡張された構造化されたpage-href構文でparamsとのリンクを作成できるようになりました。

以下の例またはデモのここを参照してください。

<a class="btn" data-bind="page-href: {path: 'user', params: {first: 'Philip', last: 'Fry'}}">Send parameter to page</a>

<div data-bind="page: {id: 'user', params: ['first','last']}" class="well-small">
  <div>
    <span>First name:</span>
    <span data-bind="text: first"></span>
  </div>
<div>
  <span>Last name:</span>
  <span data-bind="text: last"></span>
</div>

于 2013-02-27T09:59:08.327 に答える
0

これはおそらくあなたが探していたものであるはずです:

<a data-bind="page-href: 'search?text=foo'&year=2020"></a>

URIにフラグメントを追加しただけで、正常に機能しているようです。

JSFiddleでの例

于 2013-02-08T11:21:36.277 に答える