spa 单页面解决浏览器back front 问题
1.angular router
reloadOnSearch:true(default) | false
默认为true,当url的hash发生改变,页面新渲染,component会重新加载(初始化);
false,当url的hash发生改变,页面不重新渲染,component不会重新加载(初始化);
2.改变url的hash
window.history.pushState({}, null, '?tab=home');改方法可以直接改变url的hash,并加入history;
当前url为http://localhost:8888
执行前:http://localhost:8888
window.history.pushState({}, null, '?tab=home');
执行后:http://localhost:8888?tab=home
window.location.hash 取或者设置url的hash值,直接在url上面加入hash:
当前url为http://localhost:8888 执行前:http://localhost:8888 window.location.hash = 'name=test';
执行后:http://localhost:8888?tab=home#name=test
window.location.search 取或者url 通过pushState的值,方法类似window.history.pushState({}, null, '?tab=home');