router : 路由器
示例
介绍
- Router 组件是由 Backbone 的 Router 类改造而来。当访问者点击浏览器前进后退按钮,或者输入URL,如果匹配一个路由,那么会触发该路由的回调函数。在单页面程序中 Router 有着广泛的使用场景。
- 核心功能与 Backbone 的 Router 保持一致,初始化方式做一定修改,并在 options 中增加 history 参数,支持自动启用 history 功能。
使用方法
define(['jquery', 'util/router/1.0'], function($, Router){ // Instantiate the router var appRouter = new Router({ routes:{ "" : "initCallback", "help" : "helpCallback", "search/:query": "searchCb", "search/:query/:page":"searchCallback" }, initCallback:function(){ $('#routerVal').html("hash为空"); }, helpCallback:function(){ $('#routerVal').html("helpCallback"); }, searchCb:function(query) { $('#routerVal').html(query); }, searchCallback:function(query,page) { $('#routerVal').html(page); } }); });
配置参数
配置参数 | 参数类型 | 参数默认值 | 作用说明 |
---|---|---|---|
routes | JSON | / | 配置具体的路由规则 |
history | Boolean | true | Router初始化的时候自动启用 history |
公共方法
方法名称 | 入参说明 | 返回值 | 作用说明 |
---|---|---|---|
route (route, name, callback) | route {String}:路由规则 name {String}:规则名称 callback {Function}:路由回调函数 |
router 实例 | 动态的创建或修改路由规则 |
navigate (fragment, options) | fragment {String}:路由规则 options {JSON}:规则配置项
|
router 实例 | 主动路由到某一个具体的路由规则。如果配置中传入"replace":true,则会替代当前的历史状态 |