avalon.js路由

以前本身写了一个AJAX加载页面的方法;有时候一个页面里面会分区域加载不一样的东西(div,html),可是IE的回退按钮,就失去任何意义了;html

这两天研究了一下avalon.js的路由;html5

须要准备:chrome

一、引入mmRouter(请将mmRouter.js、mmHistory.js这两个文件与avalon.js放在一块儿);浏览器

二、在页面中定义VM;firefox

三、定义路由规则(能够参考avalon提供的API);htm

四、启动历史管理器;路由

五、开始扫描  (avalon.scan());文档

mmHistory是用于历史管理,它会劫持页面上全部点击连接的行为,当这些连接是以#/ 、#!/开头,就尝试匹配路由规则,阻止页面刷新(经过hash方式或HTML5的replaceState方式)。mmRouter是给咱们定义路由规则,路由规则能够更精细地指定每一个参数(param)的匹配规则,若是符合就执行对应的回调,若是不符合,就进入error回调。avalon

  • Hashbang模式(默认), 这个模式下全部浏览器都支持
  • HTML5模式, 这个只能应用于firefox, chrome, safari,IE10+,若是浏览器不支持此特性,即便你设置avalon.history.start({html5Mode:true}),它也是在Hashbang模式下运行。

这上面两点是要注意的;hash

avalon 路由支持路由嵌套;路由规则支持"{}";具体能够参考官方文档

相关文章
相关标签/搜索