我开始学习如何在Web应用程序中使用骨架js,并且在启动应用程序时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一样在App上运行时,defaultRoute不会被加载。
当我单击路由中未引用的链接时,将加载page1.html。
我的问题是:当我进入应用程序时如何设置defaultRoute?
谢谢
最佳答案
您的代码演示了steinerJS的某种不寻常用法,因为您将完整的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){
...
}
});