gpt4 book ai didi

javascript - Backbone.History.extend( { loadUrl : . ..} ) 为有效路由返回 false

转载 作者:行者123 更新时间:2023-11-30 00:21:03 25 4
gpt4 key购买 nike

我正在尝试扩展 Backbone.History.loadUrl() 以捕获 404 错误:

var History = Backbone.History.extend({
loadUrl: function() {
var match = Backbone.History.prototype.loadUrl.apply(this, arguments);
if (!match) {
console.log('route not found');
}
return match;
}
});

(Backbone.history = new History).start();

这是基于此处建议的解决方案:https://github.com/jashkenas/backbone/issues/308#issuecomment-9482299 .

我遇到的问题是,当我在有效路线上调用 (Backbone.history = new History).start() 时,它返回 false。但是,当我在同一条路线上调用 Backbone.history.start() 时,它返回 true。

当我将调试器添加到扩展的 loadUrl 方法时,match 设置为 false。

关于造成这种差异的原因有什么想法吗?

最佳答案

这应该可以代替。

var oldLoadUrl = Backbone.History.prototype.loadUrl;
_.extend(Backbone.History.prototype, {
loadUrl : function () {
var matched = oldLoadUrl.apply(this, arguments);
if (!matched) {
console.log('route not found');
}
return matched;
}
});

关于javascript - Backbone.History.extend( { loadUrl : . ..} ) 为有效路由返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33151326/

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