前端路径管理 - BackboneJS Router

文章目录

    什么是前端路径

    /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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式