hsb 1 year ago
parent
commit
28e1978b10
100 changed files with 4 additions and 4 deletions
  1. 0 0
      404.html
  2. 0 0
      about/index.html
  3. 0 0
      archives/index.html
  4. 0 0
      assets/css/0.styles.dc03b589.css
  5. 0 0
      assets/js/100.1522ae22.js
  6. 0 0
      assets/js/101.5c520ce5.js
  7. 0 0
      assets/js/102.a0c8ea6b.js
  8. 0 0
      assets/js/103.0e49cbad.js
  9. 0 0
      assets/js/104.91a6aec1.js
  10. 0 0
      assets/js/105.c39c4cd9.js
  11. 0 0
      assets/js/106.88849931.js
  12. 0 0
      assets/js/108.a43622c2.js
  13. 0 0
      assets/js/109.3219d87b.js
  14. 0 0
      assets/js/119.0141defb.js
  15. 0 0
      assets/js/120.de47a761.js
  16. 0 0
      assets/js/122.bbf33aff.js
  17. 0 0
      assets/js/123.a358822d.js
  18. 1 1
      assets/js/124.d380c979.js
  19. 0 0
      assets/js/126.8c97b2f1.js
  20. 0 0
      assets/js/127.805f10a4.js
  21. 0 0
      assets/js/128.1df741e8.js
  22. 0 0
      assets/js/129.9bd0b43e.js
  23. 0 0
      assets/js/130.8840afa7.js
  24. 0 0
      assets/js/131.4ee6bdf0.js
  25. 0 0
      assets/js/132.20948a31.js
  26. 0 0
      assets/js/133.bb2ca85d.js
  27. 0 0
      assets/js/134.f680bddd.js
  28. 0 0
      assets/js/135.751d7eef.js
  29. 0 0
      assets/js/136.8024998e.js
  30. 0 0
      assets/js/137.57ba6d3f.js
  31. 0 0
      assets/js/138.ce358840.js
  32. 0 0
      assets/js/139.11250a0f.js
  33. 0 0
      assets/js/140.df0763ba.js
  34. 0 0
      assets/js/141.8726d4cf.js
  35. 0 0
      assets/js/142.04650ef4.js
  36. 0 0
      assets/js/143.41584e7c.js
  37. 0 0
      assets/js/144.fe4a1a9a.js
  38. 0 0
      assets/js/145.830a0f6b.js
  39. 0 0
      assets/js/146.ec81c8aa.js
  40. 0 0
      assets/js/147.01fd419b.js
  41. 0 0
      assets/js/148.e05cdfb5.js
  42. 0 0
      assets/js/149.760a79ed.js
  43. 0 0
      assets/js/150.3a1675b7.js
  44. 0 0
      assets/js/151.0d73a46e.js
  45. 0 0
      assets/js/152.c9c054d4.js
  46. 0 0
      assets/js/153.b007c8a2.js
  47. 0 0
      assets/js/155.b75e437a.js
  48. 0 0
      assets/js/156.2ba750fc.js
  49. 0 0
      assets/js/157.50fba2ce.js
  50. 0 0
      assets/js/158.e16fda40.js
  51. 0 0
      assets/js/159.7fc7fd44.js
  52. 0 0
      assets/js/160.dc486df0.js
  53. 0 0
      assets/js/161.97acae68.js
  54. 1 1
      assets/js/162.86431056.js
  55. 0 0
      assets/js/163.ef0cbf93.js
  56. 0 0
      assets/js/164.6939da7f.js
  57. 0 0
      assets/js/165.0eb7e303.js
  58. 0 0
      assets/js/166.b74fcc64.js
  59. 0 0
      assets/js/167.ed3d75b7.js
  60. 0 0
      assets/js/168.ffbacb83.js
  61. 0 0
      assets/js/169.ec57192c.js
  62. 0 0
      assets/js/170.2eff8ccf.js
  63. 0 0
      assets/js/171.32f86847.js
  64. 1 1
      assets/js/172.44d1d022.js
  65. 0 0
      assets/js/173.44325ba2.js
  66. 0 0
      assets/js/174.4d70268e.js
  67. 0 0
      assets/js/175.aa74a4bf.js
  68. 0 0
      assets/js/176.010c2b42.js
  69. 0 0
      assets/js/177.e006c7d1.js
  70. 0 0
      assets/js/178.8b7976a5.js
  71. 0 0
      assets/js/179.77bb52e9.js
  72. 0 0
      assets/js/180.459407d6.js
  73. 0 0
      assets/js/181.93e8dea2.js
  74. 0 0
      assets/js/182.e83e4a62.js
  75. 0 0
      assets/js/183.472c384f.js
  76. 0 0
      assets/js/184.a8e1b0a3.js
  77. 0 0
      assets/js/185.ebeeb484.js
  78. 0 0
      assets/js/186.30e344be.js
  79. 0 0
      assets/js/187.7c7f8c1b.js
  80. 0 0
      assets/js/188.3a8bdaf2.js
  81. 0 0
      assets/js/189.8fe8cc9b.js
  82. 0 0
      assets/js/190.120bd8c0.js
  83. 0 0
      assets/js/191.4c3c270b.js
  84. 0 0
      assets/js/192.bcd4e550.js
  85. 0 0
      assets/js/193.0fe0d5e0.js
  86. 0 0
      assets/js/194.4513955e.js
  87. 0 0
      assets/js/195.92b8c6d0.js
  88. 0 0
      assets/js/196.08715780.js
  89. 0 0
      assets/js/197.c69fa6d4.js
  90. 0 0
      assets/js/198.872388aa.js
  91. 0 0
      assets/js/199.bb8f5e4f.js
  92. 0 0
      assets/js/2.395c0d18.js
  93. 0 0
      assets/js/2.c241a1b0.js
  94. 0 0
      assets/js/200.1fed86d2.js
  95. 0 0
      assets/js/206.4374de87.js
  96. 0 0
      assets/js/207.02a926dc.js
  97. 0 0
      assets/js/208.40276146.js
  98. 0 0
      assets/js/209.09ea3d1f.js
  99. 0 0
      assets/js/210.65b5c252.js
  100. 1 1
      assets/js/211.de944cbe.js

File diff suppressed because it is too large
+ 0 - 0
404.html


File diff suppressed because it is too large
+ 0 - 0
about/index.html


File diff suppressed because it is too large
+ 0 - 0
archives/index.html


File diff suppressed because it is too large
+ 0 - 0
assets/css/0.styles.dc03b589.css


File diff suppressed because it is too large
+ 0 - 0
assets/js/100.1522ae22.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/101.5c520ce5.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/102.a0c8ea6b.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/103.0e49cbad.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/104.91a6aec1.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/105.c39c4cd9.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/106.88849931.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/108.a43622c2.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/109.3219d87b.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/119.0141defb.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/120.de47a761.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/122.bbf33aff.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/123.a358822d.js


+ 1 - 1
assets/js/124.493776ef.js → assets/js/124.d380c979.js

@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{454:function(t,n,s){"use strict";s.r(n);var i=s(3),r=Object(i.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("p",[t("img",{attrs:{src:"/img/git.png",alt:"Git命令思维导图"}})])])}),[],!1,null,null,null);n.default=r.exports}}]);
+(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{453:function(t,n,s){"use strict";s.r(n);var i=s(3),r=Object(i.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("p",[t("img",{attrs:{src:"/img/git.png",alt:"Git命令思维导图"}})])])}),[],!1,null,null,null);n.default=r.exports}}]);

File diff suppressed because it is too large
+ 0 - 0
assets/js/126.8c97b2f1.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/127.805f10a4.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/128.1df741e8.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/129.9bd0b43e.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/130.8840afa7.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/131.4ee6bdf0.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/132.20948a31.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/133.bb2ca85d.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/134.f680bddd.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/135.751d7eef.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/136.8024998e.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/137.57ba6d3f.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/138.ce358840.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/139.11250a0f.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/140.df0763ba.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/141.8726d4cf.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/142.04650ef4.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/143.41584e7c.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/144.fe4a1a9a.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/145.830a0f6b.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/146.ec81c8aa.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/147.01fd419b.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/148.e05cdfb5.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/149.760a79ed.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/150.3a1675b7.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/151.0d73a46e.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/152.c9c054d4.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/153.b007c8a2.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/155.b75e437a.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/156.2ba750fc.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/157.50fba2ce.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/158.e16fda40.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/159.7fc7fd44.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/160.dc486df0.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/161.97acae68.js


+ 1 - 1
assets/js/162.0c32d380.js → assets/js/162.86431056.js

@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[162],{492:function(s,a,t){"use strict";t.r(a);var e=t(3),r=Object(e.a)({},(function(){var s=this,a=s._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"安装-typescript"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装-typescript"}},[s._v("#")]),s._v(" 安装 TypeScript")]),s._v(" "),a("p",[s._v("命令行运行如下命令,全局安装 TypeScript:")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("npm")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-g")]),s._v(" typescript\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("安装完成后,在控制台运行如下命令,检查安装是否成功(3.x):")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[s._v("tsc "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-V")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])])])}),[],!1,null,null,null);a.default=r.exports}}]);
+(window.webpackJsonp=window.webpackJsonp||[]).push([[162],{490:function(s,a,t){"use strict";t.r(a);var e=t(3),r=Object(e.a)({},(function(){var s=this,a=s._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"安装-typescript"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装-typescript"}},[s._v("#")]),s._v(" 安装 TypeScript")]),s._v(" "),a("p",[s._v("命令行运行如下命令,全局安装 TypeScript:")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("npm")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-g")]),s._v(" typescript\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("安装完成后,在控制台运行如下命令,检查安装是否成功(3.x):")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[s._v("tsc "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-V")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])])])}),[],!1,null,null,null);a.default=r.exports}}]);

File diff suppressed because it is too large
+ 0 - 0
assets/js/163.ef0cbf93.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/164.6939da7f.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/165.0eb7e303.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/166.b74fcc64.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/167.ed3d75b7.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/168.ffbacb83.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/169.ec57192c.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/170.2eff8ccf.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/171.32f86847.js


+ 1 - 1
assets/js/172.b659d767.js → assets/js/172.44d1d022.js

@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[172],{501:function(t,e,s){"use strict";s.r(e);var a=s(3),r=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"需求分析"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#需求分析"}},[t._v("#")]),t._v(" 需求分析")]),t._v(" "),e("p",[t._v("接下来的章节,我们会使用 TypeScript 来重构 axios,重构之前,我们需要简单地做一些需求分析,看一下我们这次重构需要支持哪些 feature。")]),t._v(" "),e("h2",{attrs:{id:"features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[t._v("#")]),t._v(" Features")]),t._v(" "),e("ul",[e("li",[t._v("在浏览器端使用 XMLHttpRequest 对象通讯")]),t._v(" "),e("li",[t._v("支持 Promise API")]),t._v(" "),e("li",[t._v("支持请求和响应的拦截器")]),t._v(" "),e("li",[t._v("支持请求数据和响应数据的转换")]),t._v(" "),e("li",[t._v("支持请求的取消")]),t._v(" "),e("li",[t._v("JSON 数据的自动转换")]),t._v(" "),e("li",[t._v("客户端防止 XSRF")])]),t._v(" "),e("p",[t._v("此外,我们还会支持一些 axios 库支持的一些其它的 feature。这里要注意的,我们这次重构不包括 axios 在 Node 中的实现,因为这部分我们在平时项目中应用的很少,还涉及到很多 Node.js 的知识,如果都讲的话,一是比较占用时间,另一个可能会喧宾夺主了。当然,这部分知识点我会根据同学们学习的反馈,如果大家很感兴趣想学习的话,我就作为课程的补充内容加到后期视频的扩展中,也当做课程的福利送给大家,所以大家务必要支持一下正版课程喔~")]),t._v(" "),e("p",[t._v("那么接下来我们就开始初始化项目吧!")])])}),[],!1,null,null,null);e.default=r.exports}}]);
+(window.webpackJsonp=window.webpackJsonp||[]).push([[172],{499:function(t,e,s){"use strict";s.r(e);var a=s(3),r=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"需求分析"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#需求分析"}},[t._v("#")]),t._v(" 需求分析")]),t._v(" "),e("p",[t._v("接下来的章节,我们会使用 TypeScript 来重构 axios,重构之前,我们需要简单地做一些需求分析,看一下我们这次重构需要支持哪些 feature。")]),t._v(" "),e("h2",{attrs:{id:"features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[t._v("#")]),t._v(" Features")]),t._v(" "),e("ul",[e("li",[t._v("在浏览器端使用 XMLHttpRequest 对象通讯")]),t._v(" "),e("li",[t._v("支持 Promise API")]),t._v(" "),e("li",[t._v("支持请求和响应的拦截器")]),t._v(" "),e("li",[t._v("支持请求数据和响应数据的转换")]),t._v(" "),e("li",[t._v("支持请求的取消")]),t._v(" "),e("li",[t._v("JSON 数据的自动转换")]),t._v(" "),e("li",[t._v("客户端防止 XSRF")])]),t._v(" "),e("p",[t._v("此外,我们还会支持一些 axios 库支持的一些其它的 feature。这里要注意的,我们这次重构不包括 axios 在 Node 中的实现,因为这部分我们在平时项目中应用的很少,还涉及到很多 Node.js 的知识,如果都讲的话,一是比较占用时间,另一个可能会喧宾夺主了。当然,这部分知识点我会根据同学们学习的反馈,如果大家很感兴趣想学习的话,我就作为课程的补充内容加到后期视频的扩展中,也当做课程的福利送给大家,所以大家务必要支持一下正版课程喔~")]),t._v(" "),e("p",[t._v("那么接下来我们就开始初始化项目吧!")])])}),[],!1,null,null,null);e.default=r.exports}}]);

File diff suppressed because it is too large
+ 0 - 0
assets/js/173.44325ba2.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/174.4d70268e.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/175.aa74a4bf.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/176.010c2b42.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/177.e006c7d1.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/178.8b7976a5.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/179.77bb52e9.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/180.459407d6.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/181.93e8dea2.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/182.e83e4a62.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/183.472c384f.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/184.a8e1b0a3.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/185.ebeeb484.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/186.30e344be.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/187.7c7f8c1b.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/188.3a8bdaf2.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/189.8fe8cc9b.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/190.120bd8c0.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/191.4c3c270b.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/192.bcd4e550.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/193.0fe0d5e0.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/194.4513955e.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/195.92b8c6d0.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/196.08715780.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/197.c69fa6d4.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/198.872388aa.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/199.bb8f5e4f.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/2.395c0d18.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/2.c241a1b0.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/200.1fed86d2.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/206.4374de87.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/207.02a926dc.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/208.40276146.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/209.09ea3d1f.js


File diff suppressed because it is too large
+ 0 - 0
assets/js/210.65b5c252.js


+ 1 - 1
assets/js/211.0f8a9304.js → assets/js/211.de944cbe.js

@@ -1 +1 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[211],{540:function(t,e,s){"use strict";s.r(e);var v=s(3),o=Object(v.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),e("p",[t._v("说明:本章内容是博主的Vue学习笔记,以"),e("a",{attrs:{href:"https://cn.vuejs.org/v2/guide/",target:"_blank",rel:"noopener noreferrer"}},[t._v("官方文档"),e("OutboundLink")],1),t._v("为准。")])]),t._v(" "),e("h1",{attrs:{id:"mvvm模式"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#mvvm模式"}},[t._v("#")]),t._v(" MVVM模式")]),t._v(" "),e("p",[t._v("MVVM模式,"),e("code",[t._v("M")]),t._v("即 model,数据模型;"),e("code",[t._v("V")]),t._v("即 view,视图;"),e("code",[t._v("VM")]),t._v("即 view-model,视图模型。\n"),t._v(" "),e("img",{attrs:{src:"https://cdn.jsdelivr.net/gh/xugaoyi/image_store/blog/20200204123438.png",alt:""}})]),t._v(" "),e("p",[e("strong",[t._v("理解")])]),t._v(" "),e("p",[t._v("首先,数据Model通过Data Bindings把数据绑定在View视图上,")]),t._v(" "),e("p",[t._v("当View视图有交互(有改变)的时候,Dom listeners会自动监听,然后更新数据Model。")]),t._v(" "),e("p",[e("strong",[t._v("Q:什么是MVVM模式?")])]),t._v(" "),e("p",[t._v("A:MVVM模式,第一个M代表数据模型,V代表视图,VM代表视图模型;\n它的实际操作原理是:后台数据通过视图模型来渲染视图,就是页面。当用户在页面上进行操作的时候,\n视图模型会自动监听到用户的操作,从而改变后台数据。")])])}),[],!1,null,null,null);e.default=o.exports}}]);
+(window.webpackJsonp=window.webpackJsonp||[]).push([[211],{541:function(t,e,s){"use strict";s.r(e);var v=s(3),o=Object(v.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),e("p",[t._v("说明:本章内容是博主的Vue学习笔记,以"),e("a",{attrs:{href:"https://cn.vuejs.org/v2/guide/",target:"_blank",rel:"noopener noreferrer"}},[t._v("官方文档"),e("OutboundLink")],1),t._v("为准。")])]),t._v(" "),e("h1",{attrs:{id:"mvvm模式"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#mvvm模式"}},[t._v("#")]),t._v(" MVVM模式")]),t._v(" "),e("p",[t._v("MVVM模式,"),e("code",[t._v("M")]),t._v("即 model,数据模型;"),e("code",[t._v("V")]),t._v("即 view,视图;"),e("code",[t._v("VM")]),t._v("即 view-model,视图模型。\n"),t._v(" "),e("img",{attrs:{src:"https://cdn.jsdelivr.net/gh/xugaoyi/image_store/blog/20200204123438.png",alt:""}})]),t._v(" "),e("p",[e("strong",[t._v("理解")])]),t._v(" "),e("p",[t._v("首先,数据Model通过Data Bindings把数据绑定在View视图上,")]),t._v(" "),e("p",[t._v("当View视图有交互(有改变)的时候,Dom listeners会自动监听,然后更新数据Model。")]),t._v(" "),e("p",[e("strong",[t._v("Q:什么是MVVM模式?")])]),t._v(" "),e("p",[t._v("A:MVVM模式,第一个M代表数据模型,V代表视图,VM代表视图模型;\n它的实际操作原理是:后台数据通过视图模型来渲染视图,就是页面。当用户在页面上进行操作的时候,\n视图模型会自动监听到用户的操作,从而改变后台数据。")])])}),[],!1,null,null,null);e.default=o.exports}}]);

Some files were not shown because too many files changed in this diff