gpt4 book ai didi

javascript - BackboneJS 路由

转载 作者:行者123 更新时间:2023-11-28 16:14:07 26 4
gpt4 key购买 nike

我的应用程序的索引页面位于http://cms/admin(我在本地主机上)。索引页上只有一个 a 元素:

<a href="/admin/test">deneme</a>

当我点击链接时,它会转到/cms/admin/test

我想使用 BackboneJS 的路由机制将我的应用程序转换为 ajax 友好的应用程序,但直到现在我还无法做到这一点。这是我的 JS 代码:

$(function() {
var AppRouter = Backbone.Router.extend({
routes: {
"test": "defaultRoute"
},

defaultRoute: function() {
console.log('its here');
}
});

var appRouter = new AppRouter();

Backbone.history.start({
pushState: true,
slient: true,
root: '/admin/'
});
});

当我运行页面并单击链接时,它不会将任何内容记录到控制台,并且浏览器会跟随链接。页面加载后,它会记录“its here”消息。

我已经在没有根参数的情况下尝试过它,“/admin/test”而不是“test”。我尝试了以下每种组合:“test”、“/test”、“test/”、“/admin/test”、“admin/test”等。

谢谢。

最佳答案

您必须覆盖链接的默认行为。

您必须显式调用 appRouter.navigate("test", {trigger: true}); 在页面之间移动。因此,请 try catch View.events 中链接上的点击事件 , prevent the default behavior of the link并调用appRouter.navigate()

更新

您也可以批量执行此操作:

$("a.bb_link").each( function( index, link ){
$(link).click( function( event ){
event.preventDefault();
appRouter.navigate( $(this).attr( "href" ), {trigger: true} );
});
});​

每个具有 bb_link 类的链接都将使用 Backbone.Router。

关于javascript - BackboneJS 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12044956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com