/**
* action是異步,mutation是同步
* vuex中使用commit來修改state的原因解析
* 開啟嚴格模式,僅需在創建 store 的時候傳入 strict: true;
* 在嚴格模式下,無論何時發生了狀態變更且不是由 mutation 函數引起的,將會拋出錯誤。這能保證所有的狀態變更都能被調試工具跟蹤到。
* 通過commit提交mutation修改state的值,ue的調試工具能夠記錄每,可以跟蹤記錄state的變化,直接修改state不能跟蹤變化
*/
/**
* Vue-Router有二種——————hash、history二種方式
* hash可以調用window的對象監聽這個事件,通過監聽hash的值的變化,頁面發生變化,沒有進行瀏覽器的請求
*
* */
window.
onhashchange =
function (
event) {
let
hash =
location.
hash.
slice(
1);
document.
body.
style.
color =
hash;
}
/**
* histoty 的api給前端很多自由可以實現二大部分,切換和修改
* */
// 切換歷史記錄
history.
go(-
2);
history.
go(
2);
history.
back();
history.
forward();
// 修改歷史,包括二個方法pushState、replaceState二個方法(objState,title,url)
history.
replaceState({
color:
'red' },
'red',
'red');
window.
onpopstate =
function (
event) {
if (
event.
state &&
event.
state.
color ===
'red') {
document.
body.
style.
color =
'red';
}
}
// history怕什么,怕刷新,不怕前進和后退,怕h5刷新,刷新就進行了http請求,服務器接收不到,就會返回404,所以需要服務器端配置