javascript - Backbone 路由器

标签 javascript backbone.js routes

所以,我试图制作一个具有 Backbone 的示例应用程序,但我无法使路由器工作,对此有什么想法吗?谢谢。 这是我的路由器

var Workspace = Backbone.Router.extend({
    routes:{
      "":"mainView",
      "event":"event"
    },
    initialize: function(){
      console.log('Hai');
      //view = new MainView();
      //this.render(view);
      //alert( this.routes[Backbone.history.getFragment()] );
    },
    mainView: function(){
      console.log('Load main view');
      view = new MainView();
      this.render(view);
    },
    event: function(){
      view = new EventView();
      this.render(view);
    },
    render: function(view){
      if(this.currentView){
        this.currentView.destroy();
      }
      view.render();
      this.currentView = view;
    }
  });
  var router = new Workspace();

https://jsfiddle.net/ypuh8yqv/

路由器被初始化,因为我看到了 hai 日志

最佳答案

您必须启动 Backbone 的历史记录模块。创建路由器实例后添加此行:

Backbone.history.start();

如果您想使用推送状态历史记录(因此网址中没有哈希值),您可以启用推送状态:

Backbone.history.start({pushState: true})

了解更多,see the Backbone History docs .

关于javascript - Backbone 路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37170607/

相关文章:

javascript - 匀场后如何从我的模块引用 PreloadJS?

java - 使用 Play 映射特定文件路径!框架

ruby-on-rails - 从 url 字符串中查找路由路径

javascript - Browserify - 转换/插件的顺序

javascript - PHP、JS - 位置检测

javascript - Mongoose 上的模式类型数组

asp.net-mvc-3 - asp.net mvc3 RouteToAction() 不带我去任何地方

javascript - 如何让 php POST 代码在 Javascript 代码之前运行?

backbone.js - 使用Backbone跟踪网站事件(Google Analytics(分析))

javascript - 对于在 Backbone 中监听模型的变化有点困惑