这篇文章主要介绍了如何使用director.js实现前端路由,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联服务项目包括宁洱网站建设、宁洱网站制作、宁洱网页制作以及宁洱网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,宁洱网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到宁洱省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
director.js是什么?
理解:前端的route框架,director.js客户端的路由注册/解析器,在不刷新的情况下,利用“#”号组织不同的URL路径,并根据不同的URL路径进行不同的方法调用。意思就是有什么样的路径就有什么样的方法。
场合:客户端浏览器和node.js的服务器应用。非常适合用来开发不需要刷新的单页面应用程序以及node.js应用。
兼容性:不依赖与任何库。例如jquery等。但它又和jquery能很好的融合在一起;
客户端的路由:
客户端的路由 (也称为哈希路由) 允许您指定一些关于使用URL应用状态的信息,当用户指定固定的URL,进行相应的页面显示。
简单例子
1. 单独使用
A Gentle Introduction
2当与jquery相结合
A Gentle Introduction 2 Author Name Book1, Book2, Book3
Director支持commond的书写方式
例子如下:
var director = require('director'); var router = new director.cli.Router(); router.on('create', function () { console.log('create something'); }); router.on(/destroy/, function () { console.log('destroy something'); }); // You will need to dispatch the cli arguments yourself router.dispatch('on', process.argv.slice(2).join(' '));
初始化及路由器的注册
var router = Router(routes);
另外,构造方法中传入的routes参数是一个路由对象,它是一个具有键值对结构的对象,可以被多层的嵌套。键对对应的URL中传入的路径,一般一个键值对应按照分割符切割后的某一部分;而键值对的值对应的该路径的需要触发的回调函数名。回调函数要在路由表对象使用前先声明,否则js会报错。
另外,回调函数除非特殊情况,一般不推荐使用匿名函数,请尽量先声明后使用。
var routes = { '/dog': bark, '/cat': [meow, scratch] };
这里的的url是#dog和#cat
声明Router对象后,需要调用init()方法进行初始化,如:
router.init();
路由的事件
路由事件是路由注册表中一个有固定命名的属性,是指当路由方法router.dispatch()被调用时,路由匹配成功的时定义的需要触发的回调方法(允许定义多个回调方法)。上文即时注册功能里的"on"方法就是一个事件。具体信息如下:
on :当路由匹配成功后,需要执行的方法
before:在触发“on”方法之前执行的方法
仅在客户端有效的方法:
after:当离开当前注册路径时,需要执行的方法
once: 当前注册路径仅执行一次的方法
感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用director.js实现前端路由”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!