router : 路由器

介绍

使用方法

 
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}:规则配置项
  • replace{Boolean}:如果为true,则替代当前历史状态(不是新增)
  • trigger{Boolean}:如果为true,则路由规则的回调函数将被触发
router 实例 主动路由到某一个具体的路由规则。如果配置中传入"replace":true,则会替代当前的历史状态

事件

事件名称 事件说明
route 任何路由规则被触发时都将触发该事件
route:routerName 指定路由规则被触发时所触发的事件