問題タブ [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 - バックボーンJSは自動的にデフォルトに戻ります
Backbone JS SPA(シングルページアプリケーション)の基礎的な作業を始めたところです。基本的なアンダースコアテンプレートサポートを使用していますが、予期しないルーティングが発生するという問題があります。
基本的に、サインアップビューは最初は期待どおりに表示され、ボタンをクリックして単純なテストビューに移動するとPOSTが正常に表示されます。ただし、テストビューはすぐにレンダリングされ、デフォルトのサインアップビューに再度ルーティングされます。
テストページの履歴が表示され、戻るボタンを押すと、正常に機能するテストビューに戻ります。バックボーンでトリガーされ、空白のフラグメント(サインアップページ)に戻るイベントが発生しているようですが、理由はわかりません。運が悪かったので、ナビゲート呼び出しの置換オプションとトリガーオプションをいじってみました。
補足として、start()およびstop()ビュー関数はこの記事から採用されました:http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone -apps/。これを削除してみましたが、効果がありませんでした。
私のHTMLページは、関連するスクリプトを取り込むだけで、ロード時にビューが挿入されるdiv要素bodyTargetがあります。
編集:ええと、私は問題を見つけました。falseを返すことにより、signUp()の呼び出しでイベントが伝播しないようにする必要があることがわかりました。
backbone.js - バックボーン ルートを非同期的に追加します。
私は大きなバックボーン アプリケーションで立ち往生しています。
メインアプリケーション内でさまざまなアプリケーションを実行しています。そして、アプリとルートを非同期で大きなアプリに追加したいと考えています。
ここで行うことは、主要なアプリが読み込まれた後に、Require.JS を使用してさまざまなアプリを非同期的に追加することです。新しいルートをメイン ルーティングに追加するには、履歴を停止して新しいルートを追加し、履歴を再度開始します。これは機能しますが、大きな欠点が 1 つあります。(app.navigate('x',true);) に行くたびに、新しい既存のパスが、history.started の回数だけルーティングを開始します。また、すべてのビューがレンダリングされます。
これにより、アプリの速度が大幅に低下し、完全に非効率的です。
history.stop/start を使用せずに新しいルートを動的に追加する方法はありますか?
javascript - IE でのバックボーン ルーティング + URL 書き換え
バックボーン ルーティングを処理しているときに、特有の問題に遭遇しました。
私たちのアプリは でホストされexample.com/photo/index.php
ており、トリガーされたときにアドレスバーに として表示されるイベントをフックしたいと考えていますexample.com/photo/<ID>
。以下は、書き換えルールとルーター設定をセットアップする方法です。
Backbone.Router.extend の内部:
ルーターがインスタンス化された後:
これは Firefox/Chrome/Safari ではうまく機能しますが、IE9 では でイベント フックにアクセスする必要がありexample.com/photo/#photo/<ID>
、あまりクールではありません。
そのため、 () の pushState オプションを切り替えてみpushState: true
て、それが役立つことを願っていexample.com/photo/<ID>
ますが、IE9 でアクセスするたびに、代わりにページがリダイレクトされexample.com/#photo/<ID>
、実際には のコンテンツが表示されexample.com/index.php
ます。
多分(?) イベントフックのURLを のように変更すれば問題ないのですがexample.com/photo/view/<ID>
、その部分には触れられません。
pushState の有無にかかわらず、 、 、または IE9 で期待どおりに動作さexample.com/photo/<ID>
せるexample.com/#photo/<ID>
方法はありますか?example.com/photo/#<ID>
javascript - IE のバックボーン ルーティング - # 記号を削除しますか?
#
バックボーン ルーティング、pushState を使用するかどうかに関係なく、アドレス バー内に表示されないようにする方法はありますか?
backbone.js - ビューを使用してバックボーン ボイラープレートを実装する方法
私はバックボーンを学ぼうとしていますが、正直なところ、少し圧倒されています。どこを見ても、わずかに異なる方法で行われており、それぞれがより多くのフレームワークとプラグインを学ぶ必要があります. そこで、私は Addy Osmani を信頼することに決め、彼の Backbone Fundamentals の本を読んでいます。私は彼の推奨に従い、Backbone-Boilerplate を使用しました。ただし、何らかの理由で Grunt BBB を正常にインストールできなかったため、動作するサンプルをダウンロードできません。
私がやろうとしているのは、このルーターセクションに従い、ビューを使用することです。http://addyosmani.github.com/backbone-fundamentals/#router.js .
問題は、これらの指示が不完全だと思うことです。まず、collection.fetch() 変数が間違ったスコープにあり、ビューをどこにどのように配置する必要があるかを本当に理解していません。これの実際の例を見ることができれば、それを理解できると確信していますが、前述したように、どこでも別の実装に見えます。
ルーターとビューでバックボーンボイラープレートを使用する方法を知っている人はいますか? どこかに実例はありますか?
backbone.js - バックボーンルーターが機能を取得しない
プッシュステートでバックボーンを使用しようとしました:
問題は、次のようなリンクをクリックするたびに発生することです。
ブラウザ内の場所はリロードせずに変更されますが、それに関連付けられ、ルートですでに定義されている関数は実行されません。私が間違ったことをしたことはありますか?
backbone.js - file://を使用したトリガーとバックボーンルーター
トリガーとバックボーンを使用していて、プログラムでURLに移動しようとしています。これはすべてfile://プロトコルを使用して発生します。これは、すべてがトリガーio内でのみ実行されるためです。
ただし、この手動ナビゲートは、ルートに関連付けられた機能をトリガーしません。
私のルーターはこんな感じ
手動でナビゲートしています
Navigator_toメソッドは、完全なURLを「file:// users/sign_up」の形式で返すだけです。
ただし、コンソールには何も記録されず、実行は正常に流れます。私はここで何かが欠けていますか?
javascript - バックボーン ルーター/履歴を使用するかどうか
バックボーンを利用したウィジェットのコレクションを作成しています (より適切な言葉がないため)。コンシューマーは、ウィジェットを Web アプリにドロップして初期化します。ウィジェットの特定の部分の履歴を追跡する必要がありますが、実際にブラウザーの履歴に何かを挿入したり、URL を更新したりする必要は必ずしもありません。.navigate
とオプションは便利なようですreplace
。trigger
オプトインしない限り、アプリが現在ブラウザの URL /履歴で行っていることは何でも干渉したくありません (もしあれば)。
- URL を更新したくない (オプトインしている場合を除く)
- ブラウザーの履歴にイベントを挿入したくない (オプトインしない限り)
- 履歴を追跡できるようにしたい (単純な配列でおそらく十分ですが、アイテムの 1 と 2 を自由にオプトインできることは大きな利点です)
バックボーンのルーター/履歴機能は私のユース ケースに適しているように見えますか?それとも独自のソリューションを展開する必要がありますか?
backbone.js - バックボーン.jsがルートをロードしない
いくつかのプロジェクトでbackbone.jsを問題なく使用していて、新しいプロジェクトを開始したばかりですが、私の人生の間、ロードするルートを取得できません。Chrome開発ツールでエラーは発生しませんが、起動するための簡単なアラートを取得することもできません。
開発者ツール、router.jsファイル、その他すべてのコードを調べます。
application.js-アラートはこのページで機能します
myrouter.js-これらのアラートはトリガーされません
backbone.js - ブートストラップ scrollspy とバックボーン ルーティング
Backbone.js ハッシュ ベースのルーティングを使用している場合、Bootstrap の Scrollspy を使用するにはどうすればよいですか?
ページ www.example.com/#somePage/123 を作成するバックボーン ルーターの例
URL の末尾に #anchor-value を追加する Twitter scrollSpy の例:
これは、URL を www.example.com/#somePage/123#step1 のようなものに変更しようとしていますが、これは機能していません。