問題タブ [backbone-routing]
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 - オプションの「/」とクエリパラメータを使用したバックボーンルート
このすべての「直感的な」派生物のように見えるURLに一致するバックボーンルートを設定したい
私の意見では、「直感的な」派生物はこれらすべてのURLになります。
問題は、バックボーンルートが非常に醜くなっていることです。
このルートは4行ではなく1行で表現できるはずだと思います。また、引数としてurlパラメータを送信する必要はありません。それを行わないと、URLパラメータを機能させることができませんでした。
このルートをより適切に指定するにはどうすればよいですか?
また、私はこの問題に間違って取り組んでいますか?そもそもこの問題を抱えていたのは、もっと根本的な問題の誤解と関係があるのではないかと思います。
ありがとう!
jquery-mobile - バックボーン ルーターがアプリ ルートにリダイレクトされるのはなぜですか?
アプリで次のルーターを使用しています。
私が使用する場合
アプリをserver/#foldersに正常に送信しますが、渡すと
アプリのルートをトリガーし、ログイン ページを読み込みます。リダイレクトが発生する前に、正しい URL (例: server/folders/folder1) が一時的に表示されます。ここで何が起こっているかについてのアイデアはありますか?
backbone.js - バックボーンビューの編成とパーシャル
かなり複雑なバックボーンアプリケーションがあり、ビュー/テンプレートを整理する方法がわかりません。アプリケーションはWebベースの電子メールクライアントです。このサイドバーの作り方を理解するのに本当に苦労しています。
アプリケーションのサイドバーは、Apple Mail/Outlookに表示されるものと非常によく似ています。基本的にはフォルダブラウザです。このビューは各ページにあります。
私には2つの主な問題があります:
収集データをサイドバービューに取り込むにはどうすればよいですか?
サイドバーに表示される技術的には3つの「コレクション」があります-アカウント=>メールボックスとラベル。したがって、いくつかのサンプルコードは次のようになります。
だから理論的には私はこのようなことをする必要がありますね
@accounts
問題は、ルーターからとルーターの両方を通過できないこと@labels
です。私は使用できることに気づき@options
ましたが、それは厄介でバックボーンではないようです。このサイドバーは、各ページに存在する必要があります。バックボーンスタックではどのように見えるべきですか?それは実際には「ページ」ではないので、独自のルーターを持つべきではないと思います。
物事をより小さなビューに分割しますか?
各メールボックスは独自のビューである必要がありますか?各メールボックスは独自のビューである必要がありますか?それぞれが独自のビューにラベルを付けますか?新しいメッセージなどのイベントをリッスンし、メールボックスの未読数を更新したい(たとえば)。しかし、どうすればこれを行うことができますか?ビューをネストして、すべてのオブジェクトの作成/フェッチを効率的に処理するにはどうすればよいですか?物事をより小さなビューに分割する場合、サイドバービューはどのようになりますか?
とりとめのない場合は申し訳ありません。私はこれを何日も見てきましたが、良い解決策を見つけることができないようです。
backbone.js - バックボーン: ハッシュなしのダイレクト ページ アクセス
Backbone.js で遭遇し続けた問題に対する自分の質問に答える...
私のバックボーン アプリケーションでは、ユーザーが URL にハッシュ (#) を入力しなくても、内部の「ページ」に直接移動できるようにしたいと考えています。そのままでは、Backbone BoilerplateはpushStateをサポートしていても、これをサポートしていないようです。
明らかに、ユーザーはホームページから開始する限り、すでに任意の場所にアクセスできます。または、内部ページに直接スキップできますが、ドメインの直後または最初のスラッシュの直後にハッシュ (#) がある場合に限ります。
この問題の解決策が見つかりました。同じ問題を抱えている他の人のためにここに投稿して、誰かがより良い方法を知っているかどうかを確認します.
backbone.js - 1ページに2つのページ付け-バックボーンルート
1ページで2つの別々のページ付けを処理する必要があります。
現時点では、ページネーションは1つしかありませんが、アンカーには、ルートオブジェクトによって解析されるプレーンハッシュタグのみが含まれています。
HTML
バックボーンルーター
一度に2つのページ付けを処理するにはどうすればよいですか?
backbone.js - Trigger.io & Backbone-Boilerplate 相対パス
私は Trigger.io + Backbone.js の実装を読んで見ました - 私の質問は、backbone-boilerplate フレームワークを具体的に使用することに関するものです。
私は自分のプロジェクトにBackbone-Boilerplateと同じ作成者による Backbone-LayoutManager を使用しています。Trigger でビルドを行うと、ビューがまったく読み込まれません。グーグルを(たくさん)やった後、AJAX経由でフェッチされるファイルへのフルパスを構築するために使用されるアプリケーションのルートパスと関係があると思います。( https://github.com/tbranyen/backbone-boilerplate/wiki/Relative-path-setup-notesを参照)
上記のリンクの指示に従って、アプリが十分に機能するのではなく、アプリを実行できるhttp://localhost/myapp/
かhttp://mypp.local
どうかを確認しました。ただし、これらのルートをデバイスで実行するために手動で設定することはできません。これは、すべてのデバイスでビルドごとにルートがどうなるかわからないためです。
Backbone-Boilerplate テンプレートの読み込みと Trigger.io をうまく連携させる方法についてのアイデアはありますか?
javascript - Backbonejs ルーターのナビゲート機能がルーター機能をトリガーしない
を呼び出したときにルート関数がトリガーされませんapp.navigate("/search#?q="+q, {trigger: true});
。
navigate() 呼び出しの後にページを更新すると、ルート関数が正しくトリガーされるため、ルートは適切に定義されています。
何か案は ?
backbone.js - Backbonejsビューレンダリングのベストアプローチ
私はそのようなアイテムのリストを備えたサイドバービューを持っています
現在、2つの異なるルートでサイドバービューを表示しようとしていますが、少し問題が発生しました。ルートAでは、dosomething()メソッドで「A」を出力し、ルートBIでは、dosomething()メソッドで「B」を出力します。それで、私はこの問題への最善のアプローチは何であるか疑問に思いましたか?私はそれについて考え、次の2つのアプローチを思いつきましたが、どちらも十分にエレガントではないようです。
アプローチ1
別のSideBarViewを作成し、それをSideBarView2と呼び、メソッドdosomethingをdosomethingForRouteBに変更します。したがって、ルートBにSideBarView2を使用できます。ただし、これはDRYの原則に違反しています。言うまでもなく、後でSideBarViewのレンダリング方法を変更したい場合は、2つの異なる場所で変更を加える必要があります。全体として、これは非常に悪いアプローチだと思います
アプローチ2
dosomething()メソッド内で、次のようなロジックステートメントを使用できます。
アプローチ1よりも少しエレガントですが、ビュー内に論理ステートメントを含めるのは少しハッキーすぎます。
とにかく、私の質問は、アプローチ2を使用する必要があるのか、それともこの問題に対するより良いアプローチがあるのかということです。
ありがとう
javascript - Backbone.js: 2 回目にイベントが発生しないのはなぜですか?
私はJavascriptとバックボーンに比較的慣れていません。シンプルな初心者レベルのバックボーン アプリをハッキングしています。Home と NewEntry の 2 つのビューがあります。[ホーム] から [新しいエントリ] をクリックして、NewEntry をレンダリングします。NewEntry から、[キャンセル] をクリックして Home をレンダリングします。そこで、それぞれ「キャンセル」と「新規エントリ」をクリックして、Home と NewEntry を切り替えたいと思います。
しかし、うまくいきません。これは私がやろうとしていることです:
- ホームで、「新しいエントリ」をクリックします。NewEntry は適切にレンダリングされます。
- NewEntry で、[キャンセル] をクリックします。ホームは適切にレンダリングされます。
- ホームで、「新しいエントリ」をクリックします。NewEntry が再び適切にレンダリングされるようになりました。
- NewEntry で、[キャンセル] をクリックします。ホームはレンダリングされません。クリック イベントに関連付けられたメソッドは、2 回目の起動はしません。
私は非常に困惑しています!理由がわかりません。別のイベントが発生しているかどうかを調べたいのですが、方法がわかりません。私が何をすべきか知っている人はいますか?
JavaScript:
HTML:
p>backbone.js - Backbone.js: シングル ページ アプリケーション、ルート、hrefs の問題
少し複雑に聞こえるかもしれません。
これは、SinglePage、pushState 対応アプリケーションです。構成用のルートがあります:
URLをナビゲートするためにtbranyen/backbone-boilerplateの方法を使用しています。ダッシュボードから href をクリックするとa href="configure/sites/33
、表示が正常にレンダリングされます。ブラウザの URL には、「localhost:12345/configure/sites/33」と表示されています。
構成ビューにはメニューがあり、中にはいくつか<a href=
あります。
問題は、それらのリンクにアクセスしようとすると、 が消えてid
しまうことです。
予想される href:http://localhost:12345/configure/sites/33/configuration
実際のhref:http://localhost:12345/configure/sites/configuration
何が起こっているのか、どのように修正するのかを説明していただけますか?