問題タブ [backbone-views]
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.
javascript - Backbone.View "el" の混乱
ビューをどのようel
に処理する必要がありますか? 設定する必要があります。そうしないと、イベントは発生しません (こちらを参照)。
しかし、それはすでにページ上にある要素であるべきでしょうか? 私のアプリでは、(jQuery テンプレート) テンプレートを Fancybox にレンダリングします。el
その場合はどうすればいいですか?
javascript - Backbone.js ビューのインスタンス変数?
私は Backbone.js を学んでおり、Backbone ビューでインスタンス変数を使用できるかどうかを調べようとしています。
私の目標は、ビューがインスタンス化されているときに、外部ファイルからビューのテンプレートをロードすることです。現在、バックボーン アプリのグローバル名前空間のグローバル変数に保存していますが、ビューのインスタンス変数にテンプレートを保存する方がクリーンです。現在、私は次のように設定しています:
しかし、グローバル変数として定義されている「テンプレート」を使用する代わりに、次の行に沿ってビューの初期化関数で「テンプレート」を作成したいと思います (ただし、これは機能しません)。
これはおそらく (?) かなり単純明快ですが、私は Backbone.js の学習曲線のどこかにいるので、これについて何か助けていただければ幸いです!! ありがとう!
javascript - 新しいバックボーン ビューの「イベント」ハッシュは、バージョン 0.9.0 の文字列ではなく関数値でどのように機能しますか?
バックボーン 0.9.0 の変更ログには次のように書かれています。
ビューのイベント ハッシュには、既存のビュー メソッドの文字列名だけでなく、関数の直接値も含めることができるようになりました。
次のことを試してみると、イベントの値が であると言って失敗しますundefined
。
新しい機能を誤解していますか? 誰かが私が思っていたのとは違う仕組みを説明できますか? おそらく、私の JavaScript 構文/定義時の 'this' の値が壊れているだけです。
私が慣れている方法はまだ機能します:
javascript - モデル属性に基づいて Backbone.js ビューの className を動的に設定するにはどうすればよいですか?
基本的に私が必要とするのは、このようなことをすることです
問題は、に渡された関数がclassName
ビュー テンプレートの html のコンテキストで実行されるため、this.model
.
レンダリング プロセスのこの時点でモデルにアクセスする方法はありますか? render
または、関数などで後でクラスを設定する必要がありますか?
javascript - Backbone.js ビュー イベントが起動しない
backbone.js ビュー イベントを発生させるのに問題があります。#login-button をクリックしても何も起こりません。
また、iCanHaz (http://icanhazjs.com/) を使用してテンプレートをロードしています。
これが私のJavaScriptです:
これが私のマークアップです(ICanHaz.jsを使用):
javascript - バックボーン JS: 1 つのビューが他のビューで更新をトリガーできますか?
私の単純なプロジェクトには、2 つのビューがあります - 広告申込情報ビュー (ブランド) とアプリです。複数のアイテムを選択できる機能を追加しました:
つまり、いくつのアイテムが選択されているか知りたいのです。このセットアップでは、選択はモデルに影響を与えないため、イベントは発生しません。そして、MVC の概念から、ビューは他のビューと直接やり取りしてはならないことを理解しています。では、BrandViews で何かが選択されていることを AppView はどのようにして知るのでしょうか?
より具体的には、AppView を使用して項目がいくつ選択されたかを把握するので、複数選択されている場合は、複数選択用のメニューを表示します。
javascript - ビューが変更されたときにモデルを更新するbackbone.jsの正しい方法
ビューが変更されたときにモデルを更新する正しい方法は何ですか。ビューで行う必要がありますか、それともコントローラーなどの他の場所で行う必要がありますか?
たとえば、このモデルに関連付けられたモデル(model1)といくつかのビュー(View1)があります。ビューの一部のフィールドを変更するときにモデルを更新する必要があります。それを行う正しい方法はどれですか?
また、別のビュー(View2)に関連付けられたそのモデルのコレクションがあり、そのコレクションにモデル(model1)を配置する必要があります。2番目の質問-View1またはModel1はコレクションについて知っている必要があります-知っている場合-それはどのように行われるべきですか?
javascript - アプリを正しい方法で構築していますか? - Backbone.js
私はJavascriptとbackbone.jsを初めて使用します。RobotLegs を使用して AS3 でアプリケーションを開発し、それを Javascipt に移植する必要があります。クライアント側の MVC については、Backbone.js を検討し始めました。概念は簡単に見えますが、「正しい」方法で物事を行うことについて少し確信が持てません。行き詰っている所もありますが…
したがって、基本的に、アプリ構成を使用して JSON オブジェクトを取得する必要があるこの Web サービス (非 RESTful) があります。理想的には、この呼び出しを行う最善の方法はバックボーン モデルからだと思いますが、URL と Parse メソッドをオーバーライドして非 Restful サービスで動作させる方法がわかりません。そのため、今のところ、App.js のモデルの外部から Ajax 呼び出しを行っています (コードは以下で共有)。
JSON 呼び出しからデータを取得したら、それを ConfigModel (SingleTon Model) オブジェクトに格納して、モジュールからクエリを実行して値オブジェクトを取得し、最終的にいくつかのビューに入力します。ここに 2 つの問題があります。
1) Backbone.js を使用してシングルトン モデルを実装する方法がわからない 2) ConfigModel をさらに小さなモデル/コレクションに分割する方法がわかりません。ビュー コンストラクター。
特定のビュー/モデルなどの依存モジュールを定義([])するためにRequire.jsを使用しています。ロードされたモジュールの範囲についてはわかりません。それらをシングルトンにする必要がある場合は、それらをどこかに一度ロードしてから、他のクラス/モジュールオブジェクトに依存関係を挿入する必要があります。Backbone.jsでこれを実行するにはどうすればよいですか???
最後に、フレームワーク全体でカスタム イベントを使用したいと考えています。グローバルにディスパッチし、モデル/ビューなどからリッスンできるフレームワーク イベントの並べ替え...
ご覧のとおり、スコープ/シングルトンと、これらすべてが Backbone.js および Require にどのように適合するかについて、私はかなり混乱しています。
これが、現在のアプリの構造です...
1) 私の index.html ファイルは Require.js で "Main.js" をロードします
2) Main.js で App.js をロードし、init を呼び出します。Init は、Web サービスへの AJAX 呼び出しを行い、JSON テキスト ファイルを取得して解析する getConfig() 関数を呼び出します。これは、シングルトンの ConfigModel に保存したかったのです。ただし、ConfigModel自体からWebサービスを呼び出す方法をいじり始めたので、今コメントしました...うまくいきませんでした。
3) 次に、デフォルトの URL マップを持つルーターがあります。Web サービスから JSON を正常に受信した後、Router を初期化します。これが正しいのか、それともルーターから Ajax 呼び出しを行うべきなのか、よくわかりません。
コードは次のとおりです。http://pastebin.com/HHRF88Tq
私はあちこちにいることを知っていますが、誰かが私を正しい方向に導くことができれば、本当に感謝しています....
本当にありがとう。
サミール
javascript - バックボーンビュー要素を動的に作成するにはどうすればよいですか?
Backbonejsアプリケーションで動的にいくつかのビュー要素を作成したいと思います。新しいビューが初期化されるときに、新しい要素をDOMに挿入し、要素への参照をview.elに格納して、通常どおりイベントを委任する必要があります。
HTMLを入力してから、el: "#test"を使用してビューを設定できることを理解していますが、これは、Webアプリケーションの中心ではないモーダルやその他のビューにとってはやり過ぎのようです。私がドキュメントに欠けているこれを行うための規定された方法はありますか?ビューがどのように機能するのか誤解しているだけですか?
backbone.js - 動的に作成された「el」を使用してバックボーンビューをどのように作成しますか?
OverlayViewとStoryViewの2つのビューがあります。StoryViewをOverlayViewに追加する必要があります(どちらも動的に作成されます)。OverlayViewで動的に#overlaydivを作成しますが、StoryViewの「el」を#overlayに設定すると、StoryViewのthis。$elは空の配列になります。#overlay divは、StoryViewが作成されるまでにDOMに確実に存在します。
StoryViewに動的に作成された#overlayを「el」として認識させるにはどうすればよいですか?'el'がビューが追加される'親'コンテナであると仮定するのは正しいですか?OverlayViewの「el」は実際には「#overlay」である必要がありますか?
OverlayView:
StoryView: