diff --git "a/data/2.Vue\344\270\255\351\230\266/2.Vue-router/7.\350\267\257\347\224\261\346\250\241\345\274\217/config.json" "b/data/2.Vue\344\270\255\351\230\266/2.Vue-router/7.\350\267\257\347\224\261\346\250\241\345\274\217/config.json" new file mode 100644 index 0000000000000000000000000000000000000000..d277837b11f8972042bf10a2ace1202b591d22fe --- /dev/null +++ "b/data/2.Vue\344\270\255\351\230\266/2.Vue-router/7.\350\267\257\347\224\261\346\250\241\345\274\217/config.json" @@ -0,0 +1,14 @@ +{ + "node_id": "vue-c8641c7598f24c51b4942259491f7bd0", + "keywords": [ + "路由模式" + ], + "children": [], + "export": [ + "exercises.json" + ], + "keywords_must": [ + "Vue" + ], + "keywords_forbid": [] +} \ No newline at end of file diff --git "a/data/2.Vue\344\270\255\351\230\266/2.Vue-router/7.\350\267\257\347\224\261\346\250\241\345\274\217/exercises.json" "b/data/2.Vue\344\270\255\351\230\266/2.Vue-router/7.\350\267\257\347\224\261\346\250\241\345\274\217/exercises.json" new file mode 100644 index 0000000000000000000000000000000000000000..b9937dd30fc3b852e1ce536922d6050fdaf22e29 --- /dev/null +++ "b/data/2.Vue\344\270\255\351\230\266/2.Vue-router/7.\350\267\257\347\224\261\346\250\241\345\274\217/exercises.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercises.md", + "notebook_enable": false, + "exercise_id": "172676598a5049d1832659fda62f34a5" +} \ No newline at end of file diff --git "a/data/2.Vue\344\270\255\351\230\266/2.Vue-router/7.\350\267\257\347\224\261\346\250\241\345\274\217/exercises.md" "b/data/2.Vue\344\270\255\351\230\266/2.Vue-router/7.\350\267\257\347\224\261\346\250\241\345\274\217/exercises.md" new file mode 100644 index 0000000000000000000000000000000000000000..084188cf021c2dba66406c0b2209050301a6ff1d --- /dev/null +++ "b/data/2.Vue\344\270\255\351\230\266/2.Vue-router/7.\350\267\257\347\224\261\346\250\241\345\274\217/exercises.md" @@ -0,0 +1,49 @@ +# 路由模式 + +
小常识:
+
+ +**hash模式** +vue-router默认的是hash模式. +hash模式,是指url尾巴后的#号以及后面的字符.hash也被称为锚点,本身是用来做页面定位的. +hash虽然出现在url中,但不会被包括在http请求中,对后端完全没有影响,因此改变hash值不会重新加载页面 + +**history模式** +history模主要是通过history Api的pushState()和replaceState()两个方法来实现的.pushState()可以改变url地址且不会发送请求,replaceState()可以读取历史记录栈,还可以对浏览器记录进行修改 +以上两个方法可以修改历史状态,下面三个方法可以切换(定位)历史状态 + + +```javascript +history.go(-2);//后退两次 +history.go(2);//前进两次 +history.back(); //后退 +hsitory.forward(); //前进 +``` + +**abstract模式** + +适用于所有JavaScript环境,例如服务器端使用Node.js。如果没有浏览器API,路由器将自动被强制进入此模式。 + +
+ +
小测试:
+ +根据上方小常识,以下关于路由模式的说法不正确的是?

+ +## 答案 + +路由有两种模式分别是hash模式和history模式 + +## 选项 + +### A + +使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载 + +### B + +hash模式,会去掉路径中的 “#” + +### C + +history模式包括back、forward、go三个方法