根据Backbone.js页面:
直到最近,哈希片段(#page)被用来提供这些固定链接,但随着History API的到来,现在可以使用标准URL(/ page).
我试图添加此路由器规则:
routes: {
'test': function() {
alert('ok'); }
}
Run Code Online (Sandbox Code Playgroud)
并称之为Backbone.history.start({pushState: true, root: '/myroot/'}).我的页面中有一个链接:
<a href="test">test me</a>
Run Code Online (Sandbox Code Playgroud)
我截获了链接的点击事件:
$('a[href=test]').click(function(e) {
router.navigate('test');
e.preventDefault(); });
Run Code Online (Sandbox Code Playgroud)
当我点击链接时,没有发出请求,我认为拦截成功了.但事件未触发.
所以,请帮助我了解这History API是如何工作的.或指出我做错了什么.
Der*_*ley 13
你需要打开pushState:
Backbone.history.start({pushState: true});
您的链接将强制从您的服务器完全刷新,您的服务器必须使用该URL的内容进行响应.
您需要拦截该链接的点击并告诉您的路由器导航到"测试"路线:
myRouter.navigate("test");
有关HTML5历史API的更多信息,请访问:http://diveintohtml5.info/history.html
有关使用带有Backbone的pushState的一些介绍级别信息:
我给出的演示视频涵盖了所有这些:
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
4667 次 |
| 最近记录: |