問題タブ [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 - Backbone Marionette 取得完了前に表示中
ばかげたことをしていることはわかっていますが、バックボーンのマリオネット アプリで意味のないテンプレート エラーが表示されます。fetch イベントが発生する前に、単一のアイテムをレンダリングしているように見えます。
そして私のhtmlページは
タグテンプレートから口ひげを取り除くと、1: " TagName " と表示され、フェッチが完了すると正しい番号が表示されます。
口ひげを元に戻すと、「TagName is not defined」が表示されます
私は自分のパターンの 1 つが逆になっていると感じています。近すぎて見えない。
ありがとう -マーク
backbone.js - Marionette.CompositeViewモデルを使用せずにパラメーターをテンプレートに渡す方法
私は次のような状況にあります。
(モデルが存在しません!)にメッセージを表示するためにcollection.length = 0
パラメーターをに渡したい場合。どうすれば目標を達成できますか?listTemplate
listTemplate
これが私のコードです。
-
javascript - CompositeViewのSerializeData
listView.template
についてのテンプレートを認識するために、に値を渡す必要がありますcollection.length
。
この方法でパラメーターを渡すために、serializeDataメソッドを再定義するのが1つのオプションだと思います。
私が開始したときapp
、collection
はまだフェッチされていないので:
1.a )collection.legth = 0
2.b)テンプレートはhas_tasks = false
期待どおりに取得されます。
2.a)フェッチ後collection.length is > 0
、
2.b)が呼び出され、serializeData
それが配置
されます。2.c)テンプレートが保持されているため、テンプレートがレンダリングされていないようです。has_tasks = true
has_tasks = false
何か考えは2.c
?
backbone.js - Backbone Marionette および Relational での複合ビューの使用
私は Marionette を数週間使用しており、Backbone Relational を発見したばかりなので、2 つを統合する方法を見つけようとしています。理想的には、複合ビューを使用して、各「アイテム」が独自のアイテム ビューを持つ次のような構造のデータをレンダリングしたいと考えています。
通常、複合ビューでは、各アイテムをレンダリングするために反復するモデルのコレクションが必要です。リレーショナルでは、1 つのモデル (リスト) だけがあり、そのモデルにはコレクション (アイテム) があります。マリオネットのビューを使用してこれをレンダリングすることは可能ですか、それとも単純なバックボーン ビューを使用してレンダリングと反復を自分で処理する必要がありますか?
javascript - Backbone Marionette および RequireJS モジュール
Marionette を使用して大規模な JavaScript アプリケーションを開始しています。マリオネット アプリケーションにはアプリケーション モジュールの概念があり、RequireJS はコードをモジュールに分割するためにも使用されます。
現在、アプリケーションの開始用にこれを持っています:
ビューを追加したい場合、ファイルで次のようなことをしますか?
このコードを実際に実行する方法がわかりません。どんな助けでも大歓迎です
backbone.js - 複雑なアプリとそのビュー/リージョン/レイアウトをレイアウトする方法
バックボーンマリオネットアプリの構成方法に関するいくつかの素晴らしいチュートリアルやブログ投稿を読んだ後でも、自分で書いているときに混乱しました。これが私の設定です。
さまざまなサブアプリ(別名バックボーンモジュール)に簡単に構造化できるアプリがあります。メインナビゲーションバーのリンクをクリックすると、これらのアプリの1つが起動します。つまり、レイアウトを開始するアプリを#maindivにロードします。
ただし、これらのアプリ自体のレイアウトは異なるため、アプリ内を移動すると、メインのアプリレイアウトで指定された領域が上書きされます。
例えば
ここで、レイアウトには次のDOMツリーがあり、それぞれがリージョンにマップされています
それから私は次のようなことをします
これからは、戻るボタンを使用した後でも(Backbone.RouterとHistoryを使用して)layout.albumsまたはlayout.artistsにアクセスできなくなります。
モジュールのメインレイアウトを分割して#app_mainのみを含め、別の手順でオープニングレイアウトをロードする必要がありますか?それとも他に何かアイデアはありますか?
backbone.js - Backbone.marionette compositeview は addItemView のインデックスを無視します
Backbone.Marionette の CompositeView を使用しています。新しいモデルをコレクションのインデックス 0 に挿入し、それをコンポジットの最初のビューとして表示したいと考えています。
要素を挿入する次のコードがあります。
問題は、 CompositeView がコレクションに新しく挿入されたアイテムのインデックスを無視することです。
Backbone.Marionette では、appendHtml メソッドは次のようになります。
index 引数は使用されません。
新しく挿入されたビューは、常にコンポジットの最後に配置されます。
位置0に表示するにはどうすればよいですか?
coffeescript - Backbone.Marionette オーバーライド メソッド
0.9.3 では、リージョン マネージャーが変更され、変更ログに次のエントリが追加されました。
- BREAKINGの実装を変更して
Region
、新しいビューを DOM に追加する方法を簡単にオーバーライドできるようにしました
open メソッドをオーバーライドする最良の方法は何ですか?
現在、私は機能する次のことを行っていますが、推奨される方法が何であるかを知りたいです:
場合によっては次のように show を呼び出していたため、この変更により一部のコードが壊れていました。
そして他の人では、私はそれを次のように呼んでいました:
これらの両方のインスタンスを考慮に入れるために open をオーバーライドするにはどうすればよいですか、または show をオーバーライドする必要がありますか?
backbone.js - モデルが追加されたときにitemViewにクラスを追加する
私は自分のウェブアプリにバックボーンとマリオネットを使用しています。
私はトラックのコレクションを持っています。トラックが追加され、プレーヤーがトラックを読み取らない場合、「再生」スタイルを itemView に配置するか、キューに追加されたトラックに「一時停止」します。
そのため、新しい Backbone モデルごとにクラスを追加したいと考えています。
モデルを追加すると、クラスは前の要素に追加されますが、最新の要素には追加されません。これは私の CompositeView です:
「これ」は新しいitemViewの良いセレクターではないと思います。
助けてくれてありがとう、ルカ