0

angular.js と backbone.js はどちらも、ユーザーが (アドレス バーを介して) ブラウザーの状態を変更することを好み、定義された .xml に関して反応するようですroutes。これはまだ単一ページの Web アプリケーションですが、私の場合、ユーザーがアプリケーションを操作しているときにアドレス バーを変更する必要はなく、できるだけ避けたいと思っています。

angular.js と backbone.js の両方の初心者として、angular.js または backbone.js のいずれかを使用しながら、アドレス バーに触れずに、単一ページの Web アプリケーションを構築する方法に困難に直面しています。

node.js、jade、socket.io のセットアップ (express.js なし) があり、socket.io がクライアントとサーバー間の主要な通信方法です。

具体的には、dashbaord.jade をロードしているとします。socket.io がイベントを検出したときに、メイン マークアップにパーシャルを挿入するにはどうすればよいでしょうか? dashbaord.jade 全体 (既にレンダリングされたマークアップ) を置き換えることはできますか?

4

1 に答える 1

1

だから問題は何ですか?URLを変更しないでください!ルーターを使用せず、アプリをマウス (またはキーボード) イベントによってユーザーと対話させるか、ソケット送信イベントごとにモデルまたはビューを更新するだけにしてください!!

私の解決策:何も作成せずrouter、ソケットを使用する新しいクラスを実装し、ソケットのイベントによって適切なアクションを実行します。そのクラスで、各ソケット イベントのメソッドを定義し、テンプレートとモデルをロードし (socketIO イベントからデータを返す場合があります)、それらのデータによってビューをレンダリングします。

于 2013-10-20T20:20:51.020 に答える