我开始学习如何在网络应用程序中使用backbonejs,并且在应用程序启动时我对defaultRoute有一点问题。
这是我的剧本
var AppRouter = Backbone.Router.extend({
routes: {
"user/:id": "getUser",
"*actions": "defaultRoute"
}
});
var app_router = new AppRouter;
app_router.on('route:defaultRoute', function() {
$("#content").load("pages/page1.html");
});
app_router.on('route:getUser', function(id) {
$("#content").load("pages/user.php?id="+id);
});
Backbone.history.start();
当您使用http://www.myapp.com这样的应用程序时,未加载defaultRoute。
当我点击路线中未引用的链接时,会加载page1.html。
我的问题是:当我开启应用程序时如何设置defaultRoute?
谢谢
答案 0 :(得分:0)
您的代码演示了backboneJS的一些不寻常的用法,因为您将完整的HTML或页面加载到div容器中,而不是使用主干视图和下划线模板。
无论如何,您可能需要考虑以下实现,而不是使用app_router.on(...)语法。
考虑以下实施:
var AppRouter = Backbone.Router.extend({
routes: {
"":"defaultRoute" //The router will default to this route if no other routes are matched ("")
"user/:id": "getUser",
...more routes
},
defaultRoute:function(){
...default route functionality
},
getUser:function(id){
...
}
});