Javascript 主干路由器:直接访问url没有路由匹配
我是个新手,我遇到了以下问题Javascript 主干路由器:直接访问url没有路由匹配,javascript,backbone.js,backbone-routing,Javascript,Backbone.js,Backbone Routing,我是个新手,我遇到了以下问题 define([ 'jquery', 'underscore', 'backbone', 'vm' ], function($, _, Backbone, Vm){ 'use strict'; var AppRouter = Backbone.Router.extend({ register: function(route, name, path) { this.route(route, name, function(){ va
define([
'jquery',
'underscore',
'backbone',
'vm'
], function($, _, Backbone, Vm){
'use strict';
var AppRouter = Backbone.Router.extend({
register: function(route, name, path) {
this.route(route, name, function(){
var args = arguments;
require([path], function(module) {
var options = null,
parameters = route.match(/[:\*]\w+/g);
if (parameters) {
options = {};
_.each(parameters, function(name, idx) {
options[name.substring(1)] = args[idx];
});
}
var view = Vm.create(name, module, path);
view.render();
});
});
}
});
var initialize = function(){
var appRouter = new AppRouter();
appRouter.register('detail', 'detailView', 'views/detail/DetailView');
appRouter.register('', 'HomeView', 'views/home/HomeView');
Backbone.history.start({pushstate:true});
};
return {
initialize: initialize
};
});
上面是我的路由器,所以问题是当我直接访问url localhost/detail时,路由细节不匹配,而空路由匹配
如果我在url中手动添加一个#(localhost/#detail),它就会工作,正确的路由就会匹配。有人能给我指出正确的方向吗?这样我就可以直接加载一个与“/”不同的url了。事实上,问题只是输入错误
Backbone.history.start({pushstate:true});
改为
Backbone.history.start({pushState:true});