BackboneJs入门学习[08]—Router路由初探

来源:互联网 发布:手机免费读书软件 编辑:程序博客网 时间:2024/06/16 01:41

BackboneJs入门学习—Router路由初探

1.理解Router
在页面中,通常有分为静态数据和动态数据,或者说是静态页面和动态页面。在Backbone中,静态数据和动态数据的模块分为2种:
(1)Model、Collection属于静态数据;
(2)router则属于动态数据;
由此可见,router路由在web应用中的作用。
在Backbone官方给出的文档中,对Router有如下解释:

Backbone.Router 为客户端路由提供了许多方法,并能连接到指定的动作(actions)和事件(events)。

是的,Router能够控制URL的走向,并且,当在 URL 中使用#标签时生效。 所以,在 Backbone 中,#标签后的任意字符都会被 Router 接收并解释。

同时,在Backbone中,通过hash的方式(即#page)来使浏览器的url定位到当前页面,但是,要注意的是,如今大多数的浏览器可通过history api来操控url的改变,可直接使用/page来完成之前需要hash来完成的操作!

另外,在页面加载期间,当应用已经创建了所有的路由,需要调用 Backbone.history.start(),或
Backbone.history.start({pushState: true}) 来确保驱动初始化 URL 的路由。即,打开
Backbone 的历史记录。

示例:

demo.jsvar AppRouter=Backbone.Router.extend({        routes:{                "*actions":"defaultRouter"                //匹配url        },        defaultRouter:function(actions){              alert(actions);     }});var app_router=new AppRouter;Backbone.history.start();//用start()初始化routerdemo.html// 让Router 匹配特定的 URL ,注意href的写法<a href="#actions">调式</a>

但是,router是如何匹配的呢,即router映射是如何传参的呢?我们将在下一篇中讲解。

每篇一语:

今天晕乎乎的,实在没啥子状态。早上弹了一上午的吉他,指尖都磨破了,=_=好痛。。下篇见。。。

这里写图片描述

0 0