Javascript SPA路由hashchange和反向重载
Javascript SPA routing hashchange and back reloading
所以我有我的spa和hashchange,我将加载一个新的。html文件到我的
问题是,当我点击后退按钮时,我不想通过。html文件重新加载,因为我想保留我在视图模型中单击或更改的设置或项目(我正在做MVVM)。
下面,如果我点击clickAbout函数,它会转到about页面,但是当我回到主列表时,所有的设置都丢失了,因为它被重新加载了。最好的方法是什么?我想我可以使用cookie,或者我可以直接在主页上加载视图模型。
function clickAbout() {
location.hash = "#about";
}
$(window).bind('hashchange', function (e) {
var locationHashStr = window.location.hash.substr(1).split('&')[0];
$("#divContent").load("/Content/" + locationHashStr + ".html");
});
$(document).ready(function () {
if (window.location.hash) {
var locationHashStr = window.location.hash.substr(1).split('&')[0]
$("#divContent").load("/Content/" + locationHashStr + ".html");
}
else {
location.hash = "#assetlist";
}
});
你需要使用pushstate
请看https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history
相关文章:
- 重载JS'firefox中的对象原型
- onchange值为select的重载页面
- Javascript重载了括号
- 如何使用Ajax重载从页面返回特定的表
- GWT中带有清除缓存的硬重载
- 重载像$(document).ready这样的函数是错误的
- 在JavaScript中重载函数
- 调用函数以在DataTables重载中传递参数
- 无法重载 Ajax.BeginForm 的提交方法
- 重载构造函数
- TypeScript无效的重载签名-与实现不兼容
- jQuery position()/offset()值在重载时出错(chrome)
- dojo-dgrid带有store from url(json数据)重载/刷新按钮
- javascript中的函数重载使两个函数名称相同,但输入数字不同
- 在typescript中重载一个方法
- jQuery窗口'hashchange'switch语句效率
- jquery和页面重载
- jQuery页面重载时淡出
- 防止在后退按钮上进行hashchange
- Javascript SPA路由hashchange和反向重载