前端路径管理 - BackboneJS Router

更新日期: 2015-12-12 阅读次数: 45568 分类: BackboneJS

什么是前端路径

/stock#enter
/stock#per/20150330/600637

其中 #enter, #per/20150330/600637 部分便是前端路径

何时使用前端路径

或者说前端路径存在的意义是啥?

前端路径无非是触发一段代码的执行,用 onClick 点击触发也可以啊。 但是点击触发的状态,你没法分享给其他人、也没法添加书签、或是从其他功能调整到该单页应用的某个重要子功能; 使用前端路径则可以。

BackboneJS Router 是如何配置的

var StockSelector = Backbone.Router.extend({

  routes: {
    "enter":                "enter",          // #enter
    "per/:date/:stockID":   "per",            // #per/20150330/600637
    "*actions":             "defaultRoute"    // #default
  },

  enter: function() {
    ...
  },

  per: function(date, stockID) {
    ...
  }
  
});

new StockSelector();
Backbone.history.start();    // monitoring hashchange events, and dispatching routes

路径更改触发啥操作呢

创建不同的 view

切换前端 url 但是并不保存入浏览器的历史

设置 replace 参数为 true

app.navigate("enter", {trigger: true, replace: true});

history.start 是如何监听前端路径更改事件监听的

TODO: hashChange event?

使用 router 之后,代码结构如何组织

直接去 github 搜索 Backbone.Router 可能更有效。

main.js 里只需要 new 一个 Router 实例即可,然后由 Router 加载各个 view。

参考

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式