私はbackbone.jsを初めて利用しています。私のユーザーがhttp://www.foo.com/#aboutにあり、http://www.foo.com/#profileに行くリンクをクリックしているとします。しかし、彼がログインしていない場合は#profileに連れて行きたくはありません。ログインしていなければ、#aboutというブックマークは変更しないでください。。これを達成する方法を知ることができません。助けが必要だろう。ありがとう。Backbone.js - 新しい訪問に失敗した場合にブックマークを変更する方法
2
A
答えて
1
私はバインドプロフィールリンクへクリックイベントにあなたを示唆し、ナビゲーション履歴を管理するためにBackbone.Router
を使用しても、そこにロジックを追加します。ような何か:
// code simplified and not tested
App.Router = new Backbone.Router.extend({
routes: {
"about": "about",
"profile": "profile",
},
# [...] your routes functions here
});
App.MenuView = Backbone.View.extend({
el: "#menu",
events: {
"click #profile": "showProfile"
},
showProfile: function(){
if(App.currentUser.logged?) {
App.MyRouter.navigate("profile", {trigger: true});
}
return false;
}
}
+0
ありがとうございます。私は単一のページアプリケーションをしようとしていると、他のパターンも歓迎され、最高のパターンを選ぶのが大好きです – Sanjay
関連する問題
- 1. Subversion:競合が発生した場合に更新が失敗しますか?
- 2. 1行が失敗した場合に挿入する方法
- 3. テストが失敗した場合、Android jenkinsビルドに失敗する
- 4. mySqlに、更新が失敗した場合に挿入する更新/挿入コンボがありますか?
- 5. 失敗した場合に例外をキャストしてスローする
- 6. タスクが失敗した場合にCapistranoをロールバックさせない方法
- 7. テストを実行しなかった場合、Jenkinsビルドに失敗する方法?
- 8. チャンクが失敗した場合にバネバッチジョブを中止する方法
- 9. 失敗した場合にminitest stopを実行する方法は?
- 10. "カタログの更新に失敗しました"とpoeditが失敗する
- 11. リクエストが失敗した場合(オフラインの場合)、AdViewを完全に非表示にする方法
- 12. 新しいバージョンの依存関係がリポジトリに存在する場合、Mavenビルドに失敗する方法?
- 13. RemotingConfiguration.Configureが失敗した場合の対処方法
- 14. CMakeLists.txt:ctestが失敗した場合のメッセージの印刷方法
- 15. SQL文が失敗した場合のインスクリプトの決定方法
- 16. JNI:GetStringUTFChars()は失敗した場合にOOMをスローしますか?
- 17. オブジェクトをdoubleに変換する方法、失敗した場合は文字列として扱うか?
- 18. 失敗した場合のアクションのループ
- 19. 4.0へのフライウェイ更新が途中で失敗した場合の対応
- 20. 新しいページに訪問者をリダイレクト
- 21. 検証に失敗した場合にdivを表示
- 22. 変更された場合PHPがクラスを更新しない
- 23. gradle-android-test-pluginでテストに失敗した場合は、gradleビルドに失敗しないでください。
- 24. スプリングブートセキュリティ - 認証に成功したが、認証に失敗した場合にHTTP 403を返す方法
- 25. 新しいggplot2をロードするのに失敗しました
- 26. Attachment_fuが更新時に検証に失敗しました
- 27. 検証に失敗した場合はjavascriptを呼び出す
- 28. Visual Studio:失敗した更新
- 29. AdWhirl広告の読み込みに失敗した場合の検出方法
- 30. 名前変更中にどのファイルが失敗したかを知る方法?
私は申し訳ありませんが、あなたのユーザーがそれをクリックして許可されていない場合は、なぜあなたは#profileするためのリンクがありますか?リンクを無効にすることをハックするのではなく、最初にそれを表示しないのはなぜですか? – ggozad
#profileリンクをクリックすると、ログインダイアログが表示され、正常にログインした場合にのみ#profileに移動します。 – Sanjay