Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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
Backbone.js 这个主干路由器有什么问题?_Backbone.js_Backbone Routing - Fatal编程技术网

Backbone.js 这个主干路由器有什么问题?

Backbone.js 这个主干路由器有什么问题?,backbone.js,backbone-routing,Backbone.js,Backbone Routing,是的,我已经包括了亡灵库,现在我绑定了我的loadChisiamo,但我仍然遇到了这个问题。这是main.js app_start(); var Router = Backbone.Router.extend({ routes: { "home" : "loadHome", "chisiamo" : "loadChisiamo", "*actions": "defaultRoute" }, initialize: function

是的,我已经包括了亡灵库,现在我绑定了我的loadChisiamo,但我仍然遇到了这个问题。这是main.js

app_start();

  var Router = Backbone.Router.extend({
    routes: {
      "home" : "loadHome",
      "chisiamo" : "loadChisiamo",
      "*actions": "defaultRoute"
    },
    initialize: function(){
      _.bindAll(this,'loadHome','loadChisiamo');
    },
    loadHome: function(e){
      e.preventDefault();
      console.log('loadHome');
      var home = new home_view();
    },
    loadChisiamo: function(e){
      e.preventDefault();
      console.log('loadChisiamo');
      var chiSiamo = new chiSiamo_view();
    },
    defaultRoute: function(actions) {
    }
  });

  var app_router;
  function app_start(){
    views();

    var topBar = new topbar_view();
    var menu = new menu_view();
    var home = new home_view();
    //app_router = new Router();
    Backbone.history.start({ pushState: true });

    topBar.render();
    menu.render();
    home.render();
  }

  var topbar_view,, menu_view,  home_view, chiSiamo_view;
  function views() {
    topbar_view = Backbone.View.extend({
      el: '#header',
      template: Handlebars.templates['topbarHome.ht'],
      initialize: function() {
        _.bindAll(this, "render");
      },
      render : function() {
        this.$el.html(this.template());
      }
    });
    menu_view = Backbone.View.extend({...});
    home_view = Backbone.View.extend({...});
    chiSiamo_view = Backbone.View.extend({...});
  }
现在,一旦我取消对app_router=new router()的注释,我就会得到这个错误“undefined不是函数”。就像我没有定义我的路由器,但我在上面定义了。那么问题出在哪里呢?这是我的index.html

<body>
    <div id="container">
        <div id='header' class="header"></div>
        <div id='main' class="main">
            <div id="navigation"></div>
            <div id="contain"></div>
        </div>
    </div>
    <script src="scripts/vendor/jquery/jquery.js"></script>
    <script src="scripts/vendor/jquery-ui/jquery-ui-1.10.4.min.js"></script>
    <script src="scripts/vendor/underscore/underscore-min.js"></script>
    <script src="scripts/vendor/backbone/backbone-min.js"></script>
    <script src="scripts/vendor/handlebars/handlebars.js"></script>
    <script src="scripts/vendor/modernizr/modernizr.custom.js"></script>
    <script src="scripts/vendor/plugins/jquery.slides.min.js"></script>
    <script src="scripts/templates.js"></script>
    <script src="scripts/main.js"></script>
</body>

它正在查找要加载的下划线。您是否将该库包括在您的环境中?u.bindAll(这是,'loadHome','loadChisiamo');下划线正在尝试绑定“loadHome”和“loadChisiamo”方法,但找不到“loadChisiamo”。使用下划线的非精简版本,并在异常时中断调试器,以便可以检查未定义错误的原因。