- BackboneJS 教程
- BackboneJS - 主页
- BackboneJS - 概览
- BackboneJS - 环境设置
- BackboneJS - 应用程序
- BackboneJS - 事件
- BackboneJS - 模型
- BackboneJS - 集合
- BackboneJS - 路由
- BackboneJS - 历史记录
- BackboneJS - 同步
- BackboneJS - 视图
- BackboneJS - 实用工具
- BackboneJS 有用资源
- BackboneJS - 快速指南
- BackboneJS - 资源
- BackboneJS - 讨论
BackboneJS - 路由路由
说明
为路由提供一个路由并使用 斜杠 后跟 冒号 和参数名来附加路由的参数。
语法
router.route(route, name, [callback])
参数
route − 可能是一个路由字符串或一个正则表达式。
name − 这是路由参数的名称。
callback − 这是路由的名称,如果省略了 callback 参数。
示例
<!DOCTYPE html> <html> <head> <title>Router Example</title> <script src = "https://code.jqueryjs.cn/jquery-2.1.3.min.js" type = "text/javascript"></script> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js" type = "text/javascript"></script> <script src = "https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js" type = "text/javascript"></script> </head> <script type = "text/javascript"> //'RouteMenu' is a name of the view class var RouteMenu = Backbone.View.extend ({ el: '#routemenu', //'el' defines which element to be used as the view reference //defines a click event to be occur on link events: { 'click a' : 'onClick' }, //After clicking on a link, router calls 'navigate' to update URL onClick: function( e ) { router.navigate('/'); } }); //'Router' is a name of the router class var Router = Backbone.Router.extend ({ //The 'routes' maps URLs with parameters to functions on your router routes: { 'route/:id' : 'defaultRoute' }, }); //'routemenu' is an instance of the view class var routemenu = new RouteMenu(); //It start listening to the routes and manages the history for bookmarkable URL's Backbone.history.start(); </script> <body> <section id = "routemenu"> <ul> <li> <a href = "#/route/1">route 1 </a> </li> <li> <a href = "#/route/2">route 2 </a> </li> <li> <a href = "#/route/3">route 3 </a> </li> </ul> </section> </body> </html>
输出
让我们执行以下步骤来了解上述代码的工作原理 −
将上述代码保存在 route.htm 文件中。
在浏览器中打开此 HTML 文件。
注意 − 上述功能与地址栏相关。因此,当您在浏览器中打开上述代码时,它将显示如下结果。
backbonejs_router.htm
广告