gpt4 book ai didi

javascript - 不调用主干路由

转载 作者:搜寻专家 更新时间:2023-11-01 04:10:26 24 4
gpt4 key购买 nike

我有一个使用 Backbone 0.5.3 的工作应用程序,它不再使用 backbone 0.9.2 工作。

我发现 Router.navigate() 出于某种原因没有调用我的路由。

这是我的路由器:

var Router = Backbone.Router.extend({
routes: {
'/mypage': 'mypage',
},

mypage: function() {
// show page ...
}
});

像这样手动调用路由效果很好:

Router.mypage()

我还尝试覆盖 backbone 的 .navigate 方法来调试我的应用程序......

var Router = Backbone.Router.extend({
routes: {
'/mypage': 'mypage',
},

navigate: function(fragment, options) {
console.log("navigate called");
Backbone.history.navigate(fragment, options);
},

mypage: function() {
// show page ...
}
});

...似乎调用了 .navigate 但是...

Backbone.history.navigate(fragment, options);

...只是不调用路由。

我正在使用 PushState,这是我的初始调用:

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

已经在没有 root 和 silent 参数的情况下尝试过 - 没有成功。

同样:这可以使用 Backbone 0.5.3。

感谢大家留下回复!

阿金

最佳答案

您必须为导航方法设置触发选项,例如:

Router.navigate("/mypath", {trigger: true})

关于javascript - 不调用主干路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12069605/

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