gpt4 book ai didi

backbone.js - 为什么主干路由需要默认路由

转载 作者:行者123 更新时间:2023-12-04 18:23:30 28 4
gpt4 key购买 nike

我用backbone.js @创建了一个测试用例:
http://jsfiddle.net/VWBvs/5/

路线定义为

var AppRouter = Backbone.Router.extend({
routes: {
"/posts/:id" : "getPost",
"/download/*path": "downloadFile",
"*actions" : "defaultRoute"
},
getPost: function(id) {
alert(id);
},
defaultRoute : function(actions){
alert(actions);
},
downloadFile: function( path ){
alert(path); // user/images/hey.gif
},
loadView: function( route, action ){
alert(route + "_" + action); // dashboard_graph
}
});

var app_router = new AppRouter;

Backbone.history.start();​

当我改变功能
  defaultRoute : function(actions){
alert(actions);
},


defaultRoute : function(actions){
var action = actions
},

所有其他路线都不起作用,这意味着不会弹出对话框。

但是当重新更改代码时,一切正常。

这真的很奇怪,让我很困惑。
真诚的求救......

最佳答案

正如您拥有的代码 defaultRoute是唯一会触发的路线。如果您希望其他两条路线触发,则必须删除前导斜线。

routes: {
"posts/:id" : "getPost",
"download/*path": "downloadFile",
"*actions" : "defaultRoute"
}

关于backbone.js - 为什么主干路由需要默认路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10184796/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com