gpt4 book ai didi

javascript - url 中没有哈希值的回家路线...backbone.js?

转载 作者:行者123 更新时间:2023-11-28 01:43:02 24 4
gpt4 key购买 nike

我并不是真的在谈论 PushState 我不这么认为。我正在将一个新模型保存到我的 localStorage 集合中。主页上有一个操作会路由到一个新 View ,该 View 具有一个序列化字段的表单,并创建一个使用 create 函数添加到 localStorage 的对象。

出于测试目的,我在代码中注释掉了下面的router.navigate,以查看我的 View 是否能够通过在事件触发后手动删除哈希值 (#) 来正确呈现(确实如此)。

router.navigate 确实成功路由回家,但留下了尾随哈希值 (#)。我认为哈希导致了问题,有没有办法在没有哈希的情况下路由回来。或者,如果哈希不允许我重新渲染,我是否需要重新考虑一些代码?

save: function(e) {
var playerObject = $(e.currentTarget).serializeObject();
var playersCollection = new PlayersCollection();
playersCollection.fetch({
success: function(player) {
player.create(playerObject);
//router.navigate('', {trigger: true});
}
});
return false;
}

最佳答案

检查source ,您会看到 navigate 调用函数 _updateHash。它总是添加前导“#”:

_updateHash: function(location, fragment, replace) {
if (replace) {
var href = location.href.replace(/(javascript:|#).*$/, '');
location.replace(href + '#' + fragment);
} else {
location.hash = '#' + fragment;
}
}

所以我没有看到“犹太洁食”的方式来做到这一点。我想您可以修改您的 Backbone.js 源(当片段为空时排除哈希,或者添加一个排除它的 navigate 选项)。

关于javascript - url 中没有哈希值的回家路线...backbone.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20646907/

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