問題タブ [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.
backbone.js - Backbone.paginator のリセット状態
サーバーモード、バージョン2.0.2でbackbone.paginatorを使用しています。ある時点 (バックボーン ビュー ファイル) で、PageableCollection の状態をリセットする必要があります。
基本的に、リセットまたはその他の方法で currentPage を 0 またはデフォルト値に設定する必要があります。状態オブジェクトは読み取り専用であり、標準の Collection メソッドは何もしないため、たとえば collection.reset() はページネーターによってオーバーライドされないようです。
それを行う方法はありますか?
backbone.js - Backbone.Collection.reset() => 子ビューが親と同期していません
私はアイテムのリストを持っています。それらはバックボーンのページング可能なコレクションに保存されます。
このように表示されます
|---item1---------------------------|
|---item2---------------------------|
|---item3---------------------------|
|---item4---------------------------|
|---item5---------------------------|
|---item6---------------------------|
|---item7---------------------------|
<< 1,2,3...終わり >>
ユーザーは個々のアイテムをクリックして、別のページで詳細ビューを開くことができます。詳細ビューには、作成時に初期化されたリスナーがあります。これらのリスナーはアイテム モデルにバインドされます。
詳細ビューは非常に大きいため、可視性を切り替えて DOM にキャッシュします。その後アイテムをクリックすると、キャッシュされたビューが切り替わります。
------ ここに問題があります ------
アイテムリストが別のページに切り替えられると、コレクションはリセットされます (ページネーターによって)。また、コレクションに以前に保存されたすべてのモデルが逆参照され、新しいモデル セットが作成されます。そのため、ページが前後に切り替えられた後、以前に開いたアイテムの別のコピーがコレクションに保存されます。そのため、詳細ビュー (ビュー キャッシュ内) でアイテムの名前を変更しても、アイテム リストの名前は変更されません。
ビューが同期していません。それらは異なるモデルを参照しているためです。
他の誰かが以前にこれに遭遇したかどうかはわかりません。もしそうなら、あなたがそれを解決する方法を私と共有してください。
どうもありがとう。
javascript - バックボーン ページネーターが Webpack を壊す
Webpack と backbone.paginator を使用する小さなアプリがあります。Webpackなしで完全に機能します。
コレクションで backbone.paginator を要求すると、webpack でアプリが完全に壊れてしまいます。ページネーターを使用する必要さえありません。単にそれを要求すると、アプリが壊れます。実際にはページング可能なコレクションが作成され、正しく機能しますが、ページネーターを要求した後にビューを作成しようとすると、Backbone.Marionette が定義されていないと表示されます。
モデルは次のとおりです。
ビューがある場合は、必要になるとすぐにエラーが発生します。require('backbone-paginator') を削除すると、エラーは発生しません。
これが私のwebpack.config.jsです:
編集:ほとんどすべてを削除し、これだけに減らしました:
backbone.paginator を要求した後にビューを定義することはできません。マリオネットを console.log にすると、それはまだそこにありますが、ビューを定義すると、未定義であると表示されます。