前端路径管理 - BackboneJS Router

更新日期: 2015-12-12 阅读次数: 42722 分类: 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 聊聊。 白天工地搬砖,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2019年12月07日 大雪
2019年12月09日 "一二九"运动纪念日
2019年12月09日 世界足球日
2019年12月10日 世界人权日
2019年12月12日 西安事变纪念日
2019年12月13日 南京大屠杀
2019年12月20日 澳门回归日
2019年12月21日 国际篮球日
2019年12月22日 冬至
2019年12月24日 平安夜
2019年12月25日 圣诞节
查看更多节日