問題タブ [marionette]
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 - Marionette.ItemView の囲みタグ クラスの更新
CSS クラスを使用して新しいアイテムのスタイルを異なる方法で設定する Marionette.ItemView があります。
モデルを保存して更新すると、すべてが更新されますが、「新しい」クラスは「li」に残ります。更新時に囲んでいるタグのクラスを更新する良い方法はありますか?
javascript - Marionette.CompositeView を使用したモジュールの UnitTest
モジュールの動作をテストしたいと思います ( Marionetteを使用) (1)。
奇妙なことに、js-module (1) は機能しますが、 Jasmineを使用した単体テスト (2)は失敗します。
何か案は?
(1)
(2)
javascript - requirejs と Backbone.Marionette を使用してモジュールを同期/編成する方法
RequireJsとBackbone.Marionetteを使用している Web アプリのファイル構造を次のように整理しました。
モジュールをロードするには、requireJs を使用します。
これが私のコードです。モジュールごとにいくつかの質問をしました。
質問:
1) サブアプリにアプリが必要な場合でも、アプリとサブアプリを非同期にロードするのは正しいですか?
2)サブアプリの場合、アプリを必要とするルーターをロードするのは正しいですか?
質問:
3)subApps
が必要になる可能性があるため、models
にロードすることにしましたapp.js
。このままでいいの?
質問:
4) このモジュールについてapp.addInitializer
. たとえば、実行時に がフェッチされる
かどうかはわかりません。大丈夫ですか?app.userModel
app.header.show
質問: 5)の代わりに
からロードしても問題ありませんか?main.js
subapp1/subapp1.router
subapp1/subapp1
backbone.js - Backbone Marionette でビューをレンダリングする方法
私は Backbone.Marionette を使用しており、従業員とそれぞれの部門のビューをレンダリングする必要があります。私はそれを次のようにしたい:
私のコレクションは次のようになります。
変更として、見出しdepartment
をレンダリングする必要があります。department
ビュー タイプのどの組み合わせを使用するか。Collection view
、Composite view
。ビュー/テンプレートにロジックを配置する必要がありますか?
marionette - バックボーンマリオネットのビューは、どのモデルがそれに関連付けられているかをどのように認識しますか?
https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.view.md
この例では:
このコードを分析してみましたが、Backboneの理解に基づいて、ビューが関連付けられているモデルを指定する必要があります。マリオネットビューを理解しようとしましたが、ドキュメントのどの部分か、この例ではthis
、新しく作成されたモデルを参照するビューがどのように認識されているかがわかりません。それともこれは単なるタイプミスですか?
backbone.js - Backbone.Marionette の itemviews とレイアウトの余分な div
Backbone.Marionette を試していますが、Layouts と ItemViews が余分な div を生成し続ける理由について混乱しています。
例はCoffee btwにあります。
これは、index.html に含まれるものです。
これはそれが生成するものです:
ご覧のとおり、ビューとレイアウト用に余分な div が生成され続けています。私は追加しようel: '#menu'
とel: '#content'
しましたが、役に立ちませんでした。
backbone.js - Backbone と Marionette の追加のラッパー
Backbone と Marionette を使用して、ページのメイン コンテンツ div に入る新しいレイアウトを作成しました。レイアウトは次のようになります。
問題は、レイアウトをレンダリングすると、バックボーンが自動的に div にラップしてから、次のようにメイン コンテンツ div に配置することです。
tagName で要素を変更できることはわかっていますが、テンプレートを完全にラップせずに、ページのメイン コンテンツ div に直接挿入することはできますか?
marionette - CompositeView コレクション内の特定のモデルに特定の itemView を割り当てるにはどうすればよいですか?
backbone.marionette を使用していますが、CompositeView に渡されたコレクションの一部のアイテムに対して異なるビューを使用したいと考えています。これは可能ですか?
私は試した:
しかし、うまくいきません。どうすればこれを達成できますか?
backbone-relational - backbone.marionette を使用したバックボーン リレーショナル ID 参照
バックボーンリレーショナルの includeInJSON: 'id' を使用して、関連するモデル ID のみを含め、サーバー側でオブジェクト ツリー全体をスパムするのを回避します。残念ながら、Backbone.Marionette.View はデフォルトで toJSON によって返されるビュー モードの属性のみを公開します。つまり、関連するモデルはビュー テンプレートでアクセスできなくなります。
カスタムの Marionette.View serializeData が必要なことに気付きました。これはほぼすべてのモデルで必要になるため、これを一般的に解決したいと考えています。つまり、すべてのビューの serializeData をオーバーライドして、バックボーン リレーショナル ID 参照で正しいことを行うようにします。
誰かがすでにこれを行っている可能性はありますか?私はそれについてあまり期待していませんが、これを使用できる他の人がいると考えています。:)
どのソリューションにも、次のいずれかのオプションが必要です。
モデルの toJSON の 2 つのバージョンを定義します。1 つは includeInJSON を使用し、もう 1 つは常に true として扱います。
モデル属性と属性ベースのヘルパーのみを使用して、ビュー テンプレートに対する Marionette の制限に穴を開ける方法。
backbone.js - model.fetch が完了したときにイベントをトリガーする最良の方法
フェッチが完了したときにイベントをトリガーする最良の方法を探しています。
このコードは機能しますが、次のタスクを達成するためのより良い方法があるかどうか知りたいです。