問題タブ [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.

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

backbone.js - ルート ハンドラへの後続の呼び出しでバックボーン ビューが正しくレンダリングされない

ルート ハンドラー (ブラウザー アプリケーション) から backbone.js ビューを正常にレンダリングする際に問題が発生しています。

私のjavascriptモジュールは現在次のように設定されています:

アプリを実行すると、すべてが正常に実行されます...期待どおりにホームビューに移動します。ハンドラーとのリンクを設定して、さまざまなルートに適切にナビゲートし、実行するapp.navigate('pre-sort', { trigger: true, replace: true})と問題なく実行され、リスト内の期待されるアイテムが期待どおりにレンダリングされます。

問題は、ホーム ビューに戻ろうとしてから、並べ替え前のビューに戻ろうとしたときに発生します... リスト内の項目が期待どおりに画面に表示されません。子ビューが追加されていない空のpre-sort-actions-templateレンダリングを取得しています。コードをステップ実行したところ、コレクションにデータが入力され、項目がそこにあることがわかります...しかし、何らかの理由で、私のコードはそれらをビューに適切にレンダリングしておらず、理解できないようですなぜ、または私が間違っているのか。何か案は??私はバックボーンにかなり慣れていないので、このコードが完全に正しく書かれていないと確信しています...建設的なフィードバックを歓迎します. ありがとう。

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

javascript - バックボーン ビュー イベントが起動しない - 理由がわからない

clickイベントを発生させようとしていますが、うまくいきません。私には見えないものが誰かに見えるかもしれません。

プルしているテンプレートは次のとおりです。

ConnectionView を DOM に配置するビューを次に示します。

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

backbone.js - コレクションを再インスタンス化する Backbone.js が対応するビューを更新しない

これが私のモデルビューとコレクションです:

コードの他の部分では、上記のオブジェクトのインスタンス化を使用します

「someURL」は、オブジェクトの JSON リストを返す REST ベースの URL です。

これまでのところ、すべてが良さそうです。私が達成しようとしているのは、URLを変更して「reportCollection」を更新できる必要があり、これにより更新された「reportCollectionView」がトリガーされるはずです。ご指摘ありがとうございます

0 投票する
2 に答える
4472 参照

javascript - Backbone View Attribute set for next Instantiation?

I have a view that has a tooltip attribute. I want to set that attribute dynamically on initialize or render. However, when I set it, it appears on the next instantiation of that view instead of the current one:

Here is how I initialize the view:

How can I dynamically set my attribute (tooltip) on the current view, and why is it affecting the next view?

Thanks

0 投票する
2 に答える
2267 参照

backbone.js - Backbone.js 読み取り専用コレクション ビューのレンダリング

私の問題の簡単な要約: ビューの最初のレンダリングにはコレクション内の要素が含まれていますが、2 番目のレンダリングには含まれていません。詳しくは続きを読む...

また、注意: 次のコードはハッピー パスを表しており、潜在的なエラー処理コードが欠落している可能性がたくさんあることを認識しています。これは簡潔にするために意図的に行われています。

私は backbone.js にかなり慣れていないため、次のシナリオのソリューションを実装する正しい方法を見つけるのに苦労しています。

アプリケーションのメイン レイアウトとなるレンダリングされたコンテンツを格納/表示するために、2 つのメイン リージョンでシェル化されたページがあります。一般に、次のようになります。

私は、データを取得している HTTP API を持っています。これは、実際には、さまざまなモジュールのリソース情報を、OPTIONS各モジュールのベース URL への呼び出しからの JSON 結果の形式で提供します。たとえば、次のようなOPTIONSリクエストをhttp://my/api/donor-corps返します。

アプリケーションには、私が呼び出しているバックボーン コレクションがあります。これは、複数の異なるバックボーン ビューによってレンダリングされ、アプリケーションの異なるページに異なる方法で表示される可能性のあるオブジェクトDonorCorpsCollectionの読み取り専用コレクションになります (最終的には...後で.. DonorCorpModel.現時点ではそうではありません)。のurlプロパティは、API モジュール リソースを取得するための最初の呼び出しの結果の「GetDonorCorps」プロパティを持つオブジェクトDonorCorpsCollectionのプロパティである必要があります (上記を参照)。UrlNameOPTIONS

アプリケーションには上部にメニューバーがあり、クリックするとアプリのさまざまなページが表示されるリンクがあります。今のところ、アプリには「ホーム」ページと「プレソート」ページの 2 つのページしかありません。「ホーム」ビューでは、両方のパネルにプレースホルダー情報が含まれているだけで、ユーザーがメニュー バーのリンクをクリックして実行するアクションを選択する必要があることを示しています。DonorCorpsCollectionユーザーが「並べ替え前」ページのリンクをクリックすると、アクション パネルに順序付けされていないリストとしてレンダリングするバックボーン ビューを表示したいだけです。

私は現在、アプリケーション コードを整理してカプセル化するためにJavaScript モジュール パターンを使用しています。現在、私のモジュールは次のようになっています。

最後に、これはすべて次の HTML を使用しています。

これまでのところ、 「事前並べ替え」メニュー リンクを初めてクリックしたときに、これを機能させることができました。クリックすると、Donor Corps のリストが期待どおりに表示されます。しかし、[ホーム] リンクをクリックしてから、[事前並べ替え] リンクをクリックすると、今度はヘッダーが<ul class="donor-corp-bins"></ul>表示されますが、リスト項目がなく空です。...そして、なぜ、または何を別の方法で行う必要があるのか​​ わかりません。backbone.js の Views と Routers は一般的に理解しているように感じますが、実際には何かが足りないようです。

一般的に、これはかなり単純なシナリオのように思えます。ここで何か例外的なことをしようとしているような気がしませんが、正しく動作させることができず、その理由を理解できないようです. アシスト、または少なくとも正しい方向へのナッジは、非常に高く評価されます。

0 投票する
2 に答える
519 参照

ruby-on-rails - Backbone.jsとrailsのコード編成

私は複数のタイプのユーザーがいるアプリに取り組んでいます。たとえば、ビジネスタイプのユーザーは、プロフィールのアップロード写真などを作成したり、その他のものを作成したりします。そして、企業によって作成されたコンテンツは、Webアプリのランディングページに公開されます。

私はクライアント側でバックボーンを使用していますが、Webアプリ全体がすべてのバックボーンではなく、ビジネス管理領域はバックボーンアプリがクライアント側で実行される別の部分であり、現在、パブリックランディングページから始めようとしています。 、これを機能させる方法について混乱しています。このページ用に新しいバックボーンアプリを作成する必要がありますか、それとも同じアプリにさらに多くのビューモデルとコレクションを詰め込む必要がありますか?

両方のページのURLは異なり、whatever.com / businessのようになり、ランディングページはwhatever.comにあります。

ビジネス側からの多くのビューとモデルは、パブリックランディングページで必要とされるものと同じです。しかし、これをどのように整理するかについての良い解決策を考えることはできません。

誰かが以前にこのようなことに取り組んだことがありますか。洞察はありますか?

ありがとう

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

backbone.js - backbone.layoutmanager と handlebars テンプレート エンジン

backbone.layoutmanager プロジェクトを使用しています: https://github.com/tbranyen/backbone.layoutmanager#readme

ハンドルバー テンプレート エンジンを使用したサンプルを投稿してもらえますか? 変更された app.js ファイルとインスタンス ビューが含まれていますか?

私は指示に従いましたが、インスタンス レベルとグローバルで何をすべきか少し混乱しています。テンプレートに「has no method 'match'」というエラー メッセージが表示され続けます。

ありがとう

0 投票する
3 に答える
3403 参照

javascript - バックボーンビューはjQueryセレクターにアクセスできません

登録コンポーネントを処理するバックボーンビューがあります。これには多くのフォームアクセスが必要だったため、フォームセレクターをオブジェクトプロパティに格納することを考えました。

console.log this.formを実行すると、未定義または奇妙なものは何もない、非常に見栄えの良いオブジェクトが得られます。

セレクターにアクセスするjquery関数(this.form.username.val())をログインすると、未定義で失敗します。

プロパティでjQuery関数を使用できないのはなぜですか($ elはこれを使用して)思考エラーはどこにありますか?

0 投票する
2 に答える
2672 参照

backbone.js - Backbone.jsのルーターを使用したビューの管理

次のレイアウトのシングルページアプリで作業しています。

アプリのレイアウト

画面に読み込まれる要素を管理するためにBackbone.jsルーターを使用しています。

#Listのリストアイテムをクリックするたびに、#Content1が生成され、#Content1のブロックでクリックすると、#Cont3が表示されます。

私が直面している問題は、たとえば、アドレスがlocalhost / content1のときに、何らかの理由でページを更新した場合です。#Listの要素が消えます。

#Listのコンテンツは、URLが何であるかに関係なく、ロード時に常に存在し、#Content1のコンテンツと同様に存在するようにします。バックボーンルーターを使用してこれを実現する方法はありますか?

ありがとう

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

backbone.js - バックボーンビューでmodel.setの後にバックボーンモデルを参照できません

変更イベントをビューモデルにバインドして、ビューを自己レンダリングしようとしています。Pagesコレクションからモデルをパラメーターとして取得し、this.model.set(data)を使用してモデル変更イベントをトリガーするカスタム関数をPageViewで作成しました。これは、AppViewのPagesコレクションからthis.page.load(Pages.at(index))を介してPageモデルを渡すとトリガーされます。しかし、私はいくつかの問題に直面しています。

  1. 変更イベントは、2つの異なるモデルを切り替えるときに1回だけ発生します。これは、this.model.clear({silent:true})を実行することで解決できますが、これは理想的ではありません。
  2. this.modelは、PageView内のload()関数以外の関数では常に未定義です。これは、モデルが未定義の場合、明らかにthis.renderを起動できないため、実際に主な問題です。したがって、test:function()。

とにかく、これが私のAppView関数とPageView関数のコードです。助けてくれてありがとう。