我用backbone.js @创建一个测试用例:http://jsfiddle.net/VWBvs/5/ 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);
},
to
defaultRoute : function(actions){
var action = actions
},
所有其他路线都不起作用,这意味着不会弹出对话框。
但是改了代码就一切正常了。
这真的很奇怪,让我很困惑。
诚心求救......
既然你有代码defaultRoute
是唯一曾经触发过的路线。如果你想让其他两条路线触发,你必须删除前导斜线。
routes: {
"posts/:id" : "getPost",
"download/*path": "downloadFile",
"*actions" : "defaultRoute"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)