問題タブ [backbone.paginator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
468 参照

backbone.js - Backbone.paginator のリセット状態

サーバーモード、バージョン2.0.2でbackbone.paginatorを使用しています。ある時点 (バックボーン ビュー ファイル) で、PageableCollection の状態をリセットする必要があります。

基本的に、リセットまたはその他の方法で currentPage を 0 またはデフォルト値に設定する必要があります。状態オブジェクトは読み取り専用であり、標準の Collection メソッドは何もしないため、たとえば collection.reset() はページネーターによってオーバーライドされないようです。

それを行う方法はありますか?

0 投票する
1 に答える
300 参照

backbone.js - Backbone.Collection.reset() => 子ビューが親と同期していません

私はアイテムのリストを持っています。それらはバックボーンのページング可能なコレクションに保存されます。

このように表示されます

|---item1---------------------------|
|---item2---------------------------|
|---item3---------------------------|
|---item4---------------------------|
|---item5---------------------------|
|---item6---------------------------|
|---item7---------------------------|
<< 1,2,3...終わり >>

ユーザーは個々のアイテムをクリックして、別のページで詳細ビューを開くことができます。詳細ビューには、作成時に初期化されたリスナーがあります。これらのリスナーはアイテム モデルにバインドされます。

詳細ビューは非常に大きいため、可視性を切り替えて DOM にキャッシュします。その後アイテムをクリックすると、キャッシュされたビューが切り替わります。

------ ここに問題があります ------

アイテムリストが別のページに切り替えられると、コレクションはリセットされます (ページネーターによって)。また、コレクションに以前に保存されたすべてのモデルが逆参照され、新しいモデル セットが作成されます。そのため、ページが前後に切り替えられた後、以前に開いたアイテムの別のコピーがコレクションに保存されます。そのため、詳細ビュー (ビュー キャッシュ内) でアイテムの名前を変更しても、アイテム リストの名前は変更されません。

ビューが同期していません。それらは異なるモデルを参照しているためです。

他の誰かが以前にこれに遭遇したかどうかはわかりません。もしそうなら、あなたがそれを解決する方法を私と共有してください。

どうもありがとう。

0 投票する
0 に答える
109 参照

javascript - バックボーン ページネーターが Webpack を壊す

Webpack と backbone.paginator を使用する小さなアプリがあります。Webpackなしで完全に機能します。

コレクションで backbone.paginator を要求すると、webpack でアプリが完全に壊れてしまいます。ページネーターを使用する必要さえありません。単にそれを要求すると、アプリが壊れます。実際にはページング可能なコレクションが作成され、正しく機能しますが、ページネーターを要求した後にビューを作成しようとすると、Backbone.Marionette が定義されていないと表示されます。

モデルは次のとおりです。

ビューがある場合は、必要になるとすぐにエラーが発生します。require('backbone-paginator') を削除すると、エラーは発生しません。

これが私のwebpack.config.jsです:

編集:ほとんどすべてを削除し、これだけに減らしました:

backbone.paginator を要求した後にビューを定義することはできません。マリオネットを console.log にすると、それはまだそこにありますが、ビューを定義すると、未定義であると表示されます。