問題タブ [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.
backbone.js - ボイラープレートを使用してバックボーンルーターが機能しない
わかりました、これは単純なことだと思いますが、私はそれを見るのが愚かです。これがバックボーンボイラープレート法を使用したバックボーンのコードです
これをMAMPサーバーで実行していて、Localhost:8888 / reelと入力すると、ボイラープレートに付属するインデックスページの例が表示されます。ただし、Localhost:8888 / reel / itemまたはLocalhost:8888 / reel /#itemと入力すると、ページが見つからないか、インデックスページに戻ることができません。
私の質問は、私が間違っていることです。htaccessを使用する必要がありますか?これは正しくないようです。バックボーンを使用してこれを並べ替える方法はありますか?これが本当に単純な場合は申し訳ありませんが、頭を悩ませることはできません。
backbone.js - Backbone.jsのルーターを使用したビューの管理
次のレイアウトのシングルページアプリで作業しています。
画面に読み込まれる要素を管理するためにBackbone.jsルーターを使用しています。
#Listのリストアイテムをクリックするたびに、#Content1が生成され、#Content1のブロックでクリックすると、#Cont3が表示されます。
私が直面している問題は、たとえば、アドレスがlocalhost / content1のときに、何らかの理由でページを更新した場合です。#Listの要素が消えます。
#Listのコンテンツは、URLが何であるかに関係なく、ロード時に常に存在し、#Content1のコンテンツと同様に存在するようにします。バックボーンルーターを使用してこれを実現する方法はありますか?
ありがとう
javascript - ブラウザの「戻る」ボタンまたは直接ナビゲーションに対する異なる応答のための Backbone.js ルーター パターン
これら 2 つのイベントに対して異なる応答をする Backbone.js ルーターを実装するための適切なパターンはありますか。
- ダイレクト ナビゲーション- ユーザーは、URL をブラウザに直接入力するか、アプリケーションで
Router.navigate()
- ブラウザの「戻る」ボタン - ユーザーは「戻る」ボタンを押して、以前表示していたページに移動します。
私が尋ねる理由は、ユーザーが「戻る」ボタンを押した結果としてルーターが呼び出された場合、$('element_id').html(view.el)
データをモデルにリロードして再レンダリングせずに、古いビューをその要素に戻したいからです。景色。
ユーザーがブラウザーに URL を入力するか、リンクをクリックするか、アプリケーション内から Router.navigate() を呼び出してページに直接移動した結果としてルーターが呼び出された場合、ルーターに指示してもらいたいモデルがデータを再リクエストし、ビューの再レンダリングをトリガーします。
ヘルプや提案をいただければ幸いです。どうもありがとうございました。
javascript - 最初のページ読み込み時に Backbone.js ルーティングを無効にする方法
「コンテンツはページの読み込み時に利用可能でなければならない」というベストプラクティスがあることは知っていますが、私はそうしました。ユーザーが に移動すると/questionnaire/info/id/2
、PHP は完全な html を提供します。しかし、この後問題が発生し、backbone.js は同じルートに一致し、同じページを再リクエストして ajax でロードします。
現在のページの最初の読み込みでバックボーンを無効にするにはどうすればよいですか?
javascript - バックボーン ルート マッチングが機能しない
次のような 3 つのルートがあります。
そして、私は次のようにそれらを初期化します:
最初のページのロードでルートが一致し、適切なメッセージが console.log に記録されます。しかし、私は次のようなリンク要素を持っています:
""
ルートと一致しません。"questionnaire/info/id/:id"
そして、この href 要素はルートと一致しません:
どうすればこれを機能させることができますか? ありがとう。
javascript - 動的ページのバックボーンルーター構成
getリクエストを介してロードされ、index.php?page = 6&name=Virginiaのような複数のパラメータを含むphpページがあります。ページが読み込まれると、バックボーンを初期化し、それを使用してページの一部にビューをレンダリングします。問題は、ルーターがURL全体を取得して登録しているように見えるため、ルートをトリガーするには、リンクに以下を追加する必要があることです。これは機能しますが、醜いです。ルートパラメータをBackbone.history.startに変更しようとしましたが、正しく機能しないようです。ほとんどの人はクエリパラメータを使用して動的ページからバックボーンを開始しないと確信していますが、助けていただければ幸いです。プラグインからさまざまな正規表現までさまざまなソリューションを試しましたが、役に立ちませんでした。
ruby-on-rails - ビュー内のbackbone.js各コレクション
ビューでコレクションをループすると、空のように見え、アラートダイアログが表示されません。このビューでconsole.log(this.collection)を使用すると、問題ないように見えます(このコレクションの16要素)。
私のルーター:(コレクションのURL:'/ api / employees'、これはrails jsonの出力です)
と私のindex.jsビュー:
編集:
これは、ビュー内のconsole.log(this.collection)の出力です:http://i.stack.imgur.com/ZQBUD.png
Edit2:
Railsが有罪だと思います。静的コレクションを使用すると、すべてが正常に機能します
backbone.js - コントローラーにルーターを使用したモジュラー Backbone.js マリオネット アプリケーション - ルートが機能しない
現在、Backbone.js Marionette フレームワークを使用して既存のアプリケーションを書き直しています。新しいコントローラを簡単に追加できるように、新しいスタックはかなりモジュール化されている必要があります。アプリケーションには node.js バックエンドがあり、呼び出しごとに json 応答を提供します。
アプリケーションは、(既に述べたように) Marionette アプリケーションを使用して定義されます。
PlugUI.js: var PlugUI = new Backbone.Marionette.Application();
ですから、これはかなり標準的なものだと思います。次に、次のように、いくつかのかなり標準的なコンテンツ (モデル、ビュー、およびルーター メソッドを意味する) を「コントローラー」に提供します。
この 1 つのコントローラーのビューを直接トリガーする限り、これは非常にうまく機能します。同じようなものを別のコントローラーに追加して、ルーター経由で show メソッドをトリガーしても、基本的には何も起こりません。新しいコントローラーでビューを表示するために、フロントエンドにイベントを追加しましたが、これは機能しますが、ルーター経由で機能するはずだと思いました。私は何か間違ったことを理解しましたか?
完全な (動作していない) ソース コードについては、github プロジェクトを参照してください。
どんな助けでも本当に感謝しています。
backbone.js - Meteor で動的 URL を作成するにはどうすればよいですか?
私は Web 開発に不慣れで、Meteor のサイトのデモに圧倒され、それを使用したいと考えています。私はこれまで Google App Engine しか使用しておらず、メイン クラスで動的 URL を処理するには、次のように記述します。
これにより、ハンドルバーなどのテンプレート エンジンを使用して、ページに適切なデータを含む HTML ページをロードするハンドラー クラスに、最後に 0 ~ 9 の数字を持つ任意の URL がマップされます。
Meteor で同様のことを行うにはどうすればよいですか?
backbone.js - # hrefs のクリック イベントを抑制するにはどうすればよいですか?
リンクの href がハッシュ (#) の場合、クリック イベントを自動的に抑制したいと考えています。各ビュー内で e.preventDefault() を使用してイベントを停止する必要はありません。
# hrefs のアプリケーション全体でクリック イベントを停止するにはどうすればよいですか?