本文概述
Backbone.js路由器扩展方法用于扩展路由器类并创建从Backbone.Router继承的新构造函数。当特定的URL片段匹配时,它定义了一些触发的动作,并为这些动作提供了路由。
句法:
Backbone.Router.extend(properties, classProperties)
参数说明
- properties:它指定路由器类的实例属性。
- classProperties:它指定附加到路由器的构造函数的类属性。
让我们举个例子。
请参阅以下示例:
<!DOCTYPE html>
<head>
<title>Router Extend Example</title>
<script src="https://code.jquery.com/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>
<script type="text/javascript">
var RouteMenu = Backbone.View.extend({
el: '#routemenu', //'el' defines which element to be used as the view reference
events: {
'click a' : 'onClick'
}, onClick: function( e ) {
router.navigate('/');
}
});
var Router = Backbone.Router.extend({
routes: {
'route/:id' : 'defaultRoute'
}, });
var routemenu = new RouteMenu();
Backbone.history.start();
</script>
</head>
<body>
<section id="routemenu">
<ul>
<li> <a href="#/route/1">This is route no.1 </a> </li>
<li> <a href="#/route/2">This is route no. 2 </a> </li>
<li> <a href="#/route/3">This is route no. 3 </a> </li>
</ul>
</section>
</body>
</html>
输出:
将以上代码保存在extend.html文件中,然后在新的浏览器中打开此文件。
评论前必须登录!
注册