Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干路由器:直接访问url没有路由匹配_Javascript_Backbone.js_Backbone Routing - Fatal编程技术网

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});