{"id":6302,"date":"2017-12-24T23:50:46","date_gmt":"2017-12-24T15:50:46","guid":{"rendered":"https:\/\/sdeno.com:80\/?p=6302"},"modified":"2024-03-29T09:57:37","modified_gmt":"2024-03-29T01:57:37","slug":"vue-js%e7%ac%94%e8%ae%b0","status":"publish","type":"post","link":"https:\/\/sdeno.com\/?p=6302","title":{"rendered":"vue.js\u7b14\u8bb0"},"content":{"rendered":"<p>\u76ee\u524d\u5728vue 2.5.9\u6d4b\u8bd5\u5b66\u4e60<\/p>\n<p>\u987a\u4fbf\u63a8\u8350\u8c03\u8bd5\u5de5\u5177\uff1avue-devtools\uff0c\u76f4\u63a5\u53bbchrome\u5546\u57ce\u5b89\u88c5\u5373\u53ef\u3002\u5728\u5f15\u5165vue.js\u65f6\uff0c\u4e0d\u80fd\u4f7f\u7528min\u7248\u672c\u4e0d\u7136\u65e0\u6cd5\u4f7f\u7528\u3002<\/p>\n<div><span style=\"color: #ff0000;\">\u521b\u5efavue\u89c6\u56fe<\/span><\/div>\n<pre>var vm=new Vue({\r\n     name:'root', \/\/\u7ed9\u8fd9\u91cc\u5b9e\u4f8b\u5316\u5bf9\u8c61\u53d6\u4e00\u4e2a\u540d\u5b57\uff0c\u7ec4\u4ef6\u60f3\u77e5\u9053\u662f\u54ea\u4e2a\u5b9e\u529b\u5316\u5bf9\u8c61\u8c03\u7528\u7684\u5c31\u4f7f\u7528this.$parent.$options.name\r\n\u00a0 \u00a0 \u00a0el:'#app\u2019, \u00a0 \/\/\u4e0d\u80fd\u5c06\u5bb9\u5668\u8bbe\u7f6e\u5728html\u548cbody\u6807\u7b7e\u4e0a,\u5982\u679cel\u6ca1\u58f0\u660e\u4e5f\u53ef\u4ee5\u4f7f\u7528 vm.$mount('#app')\u6765\u5b9e\u73b0\r\n\u00a0 \u00a0 \u00a0parent:baba, \/\/\u8be5\u5c5e\u6027\u4e00\u822c\u7528\u5728new Vue\u5bf9\u8c61\u4e2d\uff0c\r\n     data:{ \u00a0\/\/\u5b58\u653e\u6570\u636e\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0str:'\u5b57\u7b26\u4e32\u6570\u636e',\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0arr:[ \/\/json\u6570\u636e\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0{name:'\u540d\u5b57',age:123},\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0{name:'\u540d\u5b57',age:123},\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0]\uff0c\r\n         obj:{age:22,name:'\u5c0f\u4e48'}\r\n\u00a0 \u00a0 \u00a0},\r\n\u00a0 \u00a0 \u00a0methods:{ \u00a0\/\/\u5b58\u653e\u4e8b\u4ef6\r\n\u00a0 \u00a0 \u00a0 \u00a0 click:function(e){\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 console.log(this);\r\n\u00a0 \u00a0 \u00a0 \u00a0 }\r\n\u00a0 \u00a0 \u00a0},\r\n     components:{},\r\n     render:...,\r\n     directives:...,\r\n     filters:...,\r\n     computed:{\r\n        myname:{\r\n           get(){ return this.xx  },\r\n           set(newValue){ this.$refs.xxx.src = newValue }   \/\/\u5728\u522b\u7684\u5730\u65b9\u4fee\u6539 this.myname = 'baidu.con',newValue\u5c31\u80fd\u83b7\u53d6\u5230\u503c\r\n        } \r\n     },\r\n     watch:{ \/\/\u76d1\u542c\u7684\u6570\u636e\u6709\u53d8\u4e3a\u5c31\u89e6\u53d1\u56de\u8c03\r\n         \/\/\u9047\u5230\u590d\u5408\u578b\u6570\u636e\u63a8\u8350\u7ed3\u6784\u662f[{},{}]\r\n        str:function(new_value,old_value){\r\n        },\r\n        arr:{\r\n            handler: function (val, oldVal) { \/* ... *\/ }, \/\/\u4e0d\u8981\u4f7f\u7528\u7bad\u5934\u51fd\u6570\uff0c\u5426\u5219this\u65e0\u6cd5\u6307\u5411vue\u5bf9\u8c61\r\n            deep: true  \/\/\u9047\u5230\u5bf9\u8c61\u6216\u8005\u590d\u5408\u7ed3\u6784\u8981\u5f00\u542f\u6df1\u5ea6\u76d1\u542c,\u7b80\u5355\u6570\u7ec4\u4e0d\u9700\u8981\u5f00\u542f\r\n        },\r\n        'obj.age':function (val, oldVal) { \/* ... *\/ },\r\n         obj:[\r\n            function handle1 (val, oldVal) { \/* ... *\/ },\r\n            function handle2 (val, oldVal) { \/* ... *\/ }\r\n         ]\r\n     },\r\n\r\n\r\n   \r\n     \/\/\u751f\u547d\u5468\u671f\r\n     beforeCreate:function(){\r\n          \/\/vue\u5b9e\u4f8b\u5316\u524d\u6267\u884c\uff0cdata\u6570\u636e\u548cdom\u8fd8\u6ca1\u6709\u6570\u636e\r\n     },\r\n     created:function(){\r\n          \/\/vue\u5b9e\u4f8b\u5316\u540e\u6267\u884c\uff0c\u5df2\u7ecf\u6709data\u6570\u636e\uff0c\u4f46\u8fd8\u6ca1\u52a0\u8f7ddom\r\n     },\r\n     beforeMount:function(){\r\n          \/\/\u7ec4\u4ef6\u5185\u5bb9\u6e32\u67d3\u5230\u9875\u9762\u524d\u6267\u884c\uff0cdata\u6570\u636e\u6709\u4e86\uff0cdom\u8fd8\u6ca1\u5728\u9875\u9762\u4e2d\r\n     },  \r\n     render:function(){\r\n          \/\/render\u6267\u884c\u987a\u5e8f\u662f\u5728beforeMount\u548cmounted\u4e4b\u95f4\uff0c\u5b83\u7684\u4f5c\u7528\u5c31\u662f\u628aDOM\u63d2\u5165\u5230\u9875\u9762\u4e0a\uff0c\u6240\u4ee5\u5230\u4e86mounted\u6267\u884c\u65f6\u6211\u4eec\u624d\u80fd\u770b\u89c1\u6570\u636e\r\n     },\r\n     mounted:function(){\r\n          \/\/\u7ec4\u4ef6\u5185\u5bb9\u6e32\u67d3\u5230\u9875\u9762\u540e\u6267\u884c\uff0cdata\u548cdom\u90fd\u5728\u9875\u9762\u4e2d\u4e86\r\n     },\r\n     beforeUpdate:function(){\r\n          \/\/\u53ea\u6709\u5f53data\u6570\u636e\u53d1\u751f\u53d8\u5316\u540e\uff0c\u4f46\u6570\u636e\u8fd8\u6ca1\u63d2\u5165\u5230dom\u7684\u65f6\u5019\u6267\u884c\r\n     },\r\n     updated:function(){\r\n          \/\/data\u6570\u636e\u53d8\u5316\u5b8c\u6210\u5e76\u63d2\u5165\u5230dom\u4e4b\u540e\u6267\u884c\r\n     },\r\n     beforeDestroy:function(){\r\n          \/\/\u9500\u6bc1\u4e4b\u524d\u56de\u8c03\uff0c\u4f7f\u7528vm.$destroy()\u5373\u662f\u9500\u6bc1\u4e86vm\u7ec4\u4ef6\u4e14\u5148\u89e6\u53d1beforeDestroy\u4e4b\u540e\u662f\u89e6\u53d1destroyed\r\n         \r\n     },\r\n     destroyed:function(){\r\n          \/\/\u9500\u6bc1\u540e\u56de\u8c03\uff0c\u8fd9\u91cc\u7684\u9500\u6bc1\u540e\u6570\u636e\u8fd8\u662f\u5b58\u5728\u7684\uff0c\u53ea\u662f\u4fee\u6539\u6570\u636e\u5df2\u7ecf\u65e0\u6cd5\u9a71\u52a8\u4fee\u6539\u89c6\u56fe\u53d8\u5316\u4e86\u800c\u5df2\uff0c\r\n          \/\/\u4e4b\u524d\u7ed1\u5b9a\u5728dom\u7684\u4e8b\u4ef6\u4f8b\u5982click mouseenter\u7b49\u7b49\u8fd8\u662f\u6709\u6548\u7684\uff0c\u4ec5\u4ec5\u662f\u65e0\u6cd5\u9a71\u52a8\u89c6\u56fe\u53d8\u5316\u800c\u5df2\uff0c\u4e4b\u524d\u6709\u7684\u8fd8\u662f\u6709\r\n     },\r\n\r\n     \/\/activated\u548cdeactivated\uff0c\u53ea\u9488\u5bf9\u5f00\u542fkeep-alive\u7684\u7ec4\u4ef6\u89e6\u53d1\r\n     activated:function(){\r\n        console.log(\"\u8fdb\u9875\u9762\")\r\n     },\r\n     deactivated:function(){\r\n        console.log(\"\u79bb\u5f00\u9875\u9762\")\r\n     },\r\n\r\n     \/\/\u7ec4\u4ef6\u751f\u547d\u5468\u671f\r\n     beforeRouteEnter(to, from, next) {\r\n       \/\/\u4e0d\u80fd\u83b7\u53d6\u5230this\r\n       \/\/ do someting\r\n       \/\/ \u5728\u6e32\u67d3\u8be5\u7ec4\u4ef6\u7684\u5bf9\u5e94\u8def\u7531\u88ab confirm \u524d\u8c03\u7528\r\n     },\r\n     beforeRouteUpdate(to, from, next) {\r\n       \/\/ do someting\r\n       \/\/ \u5728\u5f53\u524d\u8def\u7531\u6539\u53d8\uff0c\u4f46\u662f\u4f9d\u7136\u6e32\u67d3\u8be5\u7ec4\u4ef6\u662f\u8c03\u7528\r\n     },\r\n     beforeRouteLeave(to, from ,next) {\r\n       \/\/\u80fd\u83b7\u53d6\u5230this\r\n       \/\/ do someting\r\n       \/\/ \u5bfc\u822a\u79bb\u5f00\u8be5\u7ec4\u4ef6\u7684\u5bf9\u5e94\u8def\u7531\u65f6\u88ab\u8c03\u7528\r\n       next()\r\n     }\r\n});<\/pre>\n<p><span style=\"color: #ff0000;\">vue\u5bf9\u8c61\u5d4c\u5957\u3001\u52a0\u8f7d\u987a\u5e8f\u95ee\u9898<\/span><\/p>\n<p>\u5bf9\u4e8e\u65b0\u624b\u6216\u8005\u662f\u8981\u6295\u5165\u9879\u76ee\u7684\u6700\u597d\u5148\u641e\u6e05\u695a\uff0c\u65b9\u4fbf\u4e4b\u540e\u7684\u67b6\u6784\u8bbe\u8ba1<\/p>\n<p>1\uff0c\u60c5\u51b5\uff1a\u7236\u5bf9\u8c61id=xx,\u91cc\u9762\u5d4c\u5957\u7740\u5b50\u5bf9\u8c61xx1\uff0c\u5e76\u4e14\u91cc\u9762\u6709\u76f8\u540c\u5143\u7d20{{a}}<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:522px\"><div style=\"padding-top:109.00383141762%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"522\" height=\"569\" class=\"alignnone size-full wp-image-6768 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue1.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue1.jpg\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue1.jpg 522w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue1-275x300.jpg 275w\" sizes=\"auto, (max-width: 522px) 100vw, 522px\"><\/figure>\n<p>\u4fee\u6539\u540e<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:482px\"><div style=\"padding-top:121.57676348548%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"482\" height=\"586\" class=\"alignnone size-full wp-image-6769 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue2.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue2.jpg\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue2.jpg 482w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue2-247x300.jpg 247w\" sizes=\"auto, (max-width: 482px) 100vw, 482px\"><\/figure>\n<p>2\uff0c\u60c5\u51b52\uff1a\u7236\u5143\u7d20\u91cc\u9762\u5d4c\u5957\u7740\u5b50\u5143\u7d20\uff0c\u4f46\u5b50\u5143\u7d20\u91cc\u9762\u7684{{a1}},\u7236\u5143\u7d20\u6ca1\u6709<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:872px\"><div style=\"padding-top:63.302752293578%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"872\" height=\"552\" class=\"alignnone size-full wp-image-6771 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue3.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue3.jpg\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue3.jpg 872w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue3-300x190.jpg 300w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue3-768x486.jpg 768w\" sizes=\"auto, (max-width: 872px) 100vw, 872px\"><\/figure>\n<p>\u4fee\u6539\u540e<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:478px\"><div style=\"padding-top:111.29707112971%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"478\" height=\"532\" class=\"alignnone size-full wp-image-6772 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue4.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue4.jpg\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue4.jpg 478w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/vue4-270x300.jpg 270w\" sizes=\"auto, (max-width: 478px) 100vw, 478px\"><\/figure>\n<p>\u603b\u7ed3\uff1a<\/p>\n<p>1\uff0c\u5b50\u5143\u7d20\u6709\u7684\u5c5e\u6027\uff0c\u7236\u5143\u7d20\u4e00\u5b9a\u8981\u6709\uff1b\u7236\u5143\u7d20\u6709\u7684\u5c5e\u6027\uff0c\u5b50\u5143\u7d20\u53ef\u4ee5\u4e0d\u58f0\u660e\u3002<\/p>\n<p>2\uff0c\u5b50\u5143\u7d20\u8981\u52a0\u8f7d\u5728\u7236\u5143\u7d20\u524d\u9762<\/p>\n<div><span style=\"color: #ff0000;\">\u906e\u4e11<\/span><\/div>\n<pre>\/\/\u653e\u5728\u516c\u5171\u6837\u5f0f\u7684\u6700\u6700\u524d\u9762\r\n[v-cloak] {\r\n   display: none !important;\r\n}\r\n\r\n&lt;div id=\u201capp\u201d v-cloak&gt; \u00a0&lt;\/div&gt;<\/pre>\n<div><span style=\"color: #ff0000;\">\u5bf9\u5916\u76f4\u63a5\u8c03\u7528vue\u5c5e\u6027<\/span><\/div>\n<div>vm.str \u00a0\/\/\u5b57\u7b26\u4e32\u6570\u636e<\/div>\n<p><span style=\"color: #ff0000;\">vue\u6570\u636e\u7684\u589e\u3001\u5220\u3001\u6539<\/span><br \/>\nvue\u4e0d\u5141\u8bb8\u6dfb\u52a0\u989d\u5916\u5c5e\u6027\uff0c\u53ea\u80fd\u5728\u5df2\u6709\u7684\u57fa\u7840\u4e0a\u4fee\u6539\uff0c\u6211\u4eec\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e00\u4e2a\u7a7a\u5bf9\u8c61\uff0c\u5728\u5176\u57fa\u7840\u4e0a\u6dfb\u52a0\u5c5e\u6027\u4e5f\u80fd\u8fbe\u5230\u8fd9\u6837\u7684\u6548\u679c\u3002<\/p>\n<pre>var vm1= new Vue({\r\n  el: '#repeat',\r\n  data:{\r\n    str:'',  \/\/\u9884\u7559\u7a7a\u7684\r\n    obj:{}   \/\/\u9884\u7559\u7a7a\u7684\r\n    obj1:{a:''}  \/\/\u5982\u679c\u6a21\u677f\u4e2d\u8981\u8c03\u7528obj1.a,\u5c31\u8981\u5728vue\u5b9e\u4f8b\u4e2d\u9884\u5148\u8bbe\u7f6e\u597d\uff0c\u5426\u5219\u4f1a\u62a5\u9519\u3002\r\n }\r\n})<\/pre>\n<p>\u5728\u4fee\u6539\u6570\u7ec4\u3001\u5bf9\u8c61\u65f6\u4e5f\u9700\u8981vue\u5185\u7f6e\u7684\u65b9\u6cd5\u53bb\u4fee\u6539\uff0c\u5982\u679c\u8fd8\u60f3\u6709\u6570\u636e\u53cc\u5411\u7ed1\u5b9a\u6548\u679c\u5c31\u8981\u7528\u4ee5\u4e0b\u65b9\u6cd5\u53bb\u4fee\u6539\u3002\u5426\u5219\u4fee\u6539\u540e\u7684\u89c6\u56fe\u4e5f\u4e0d\u4f1a\u6539\u53d8\u3002<\/p>\n<p>\u5bf9\u8c61<\/p>\n<pre>\u4fee\u6539\uff1a\r\n  Vue.set(vm1.obj,'age',123) \/\/\u6dfb\u52a0\u4e86age\u5c5e\u6027\r\n  this.$set(this.someObject,'b',2)  \/\/\u4e34\u65f6\u8865\u52a0a\u5c5e\u6027\u4e14\u8d4b\u503c\uff0c\u5982\u679c\u8981\u5220\u9664\u4f7f\u7528this.$delete(this.someObject,'b')\r\n   \u6216\r\n  vm1.str=xxxx \/\/\u76f4\u63a5\u4fee\u6539\r\n\r\n<\/pre>\n<pre>\u6dfb\u52a0\uff1a\r\n  this.obj = Object.assign({}, this.obj, { a: 1, b: 2 }); \/\/\u5728obj\u5bf9\u8c61\u4e0a\u6dfb\u52a0\u4e86a\u5c5e\u6027\u548cb\u5c5e\u6027\r\n  \u8c03\u7528\uff1a{{obj.age}}<\/pre>\n<p>\u6570\u7ec4<\/p>\n<pre>data:{\r\n arr:['\u6211\u7684\u540d\u5b57','\u662f\u8c22\u5c14\u987f']\r\n}\r\n\r\n\u4fee\u6539\uff1a\r\nVue.set(this.arr, 1, '\u9648\u9648')\r\n\r\n\u4fee\u6539\u957f\u5ea6\r\nexample1.items.splice(newLength)<\/pre>\n<div><span style=\"color: #ff0000;\">vue\u64cd\u4f5c\u6570\u7ec4<\/span><\/div>\n<pre>- push()\u00a0 \u00a0 \u00a0 \/\/\u672b\u5c3e\u52a0\r\n- pop()\u00a0 \u00a0 \u00a0 \u00a0\/\/\u672b\u5c3e\u51cf\r\n- shift()\u00a0 \u00a0 \u00a0 \/\/\u9996\u51cf\r\n- unshift()\u00a0 \/\/\u9996\u52a0 ie8\u4e0d\u652f\u6301\r\n- splice()\u00a0 \u00a0 \/\/\u63a8\u8350\u4f7f\u7528\uff0c\u53ef\u589e\u3001\u5220\u3001\u6539\r\n- sort()\u00a0 \u00a0 \u00a0 \u00a0\/\/\u5347\u5e8f\r\n- reverse()\u00a0 \/\/\u964d\u5e8f\r\n\/\/\u4ee5\u4e0a\u65b9\u6cd5\u4f1a\u4fee\u6539\u5143\u6570\u7ec4\r\n\r\n\r\nfilter()\r\nconcat()\r\nslice()\r\n\/\/\u4ee5\u4e0a\u65b9\u6cd5\uff0c\u4e0d\u4f1a\u4fee\u6539\u539f\u6570\u7ec4\uff0c\u8fd4\u56de\u4e00\u4e2a\u65b0\u6570\u7ec4<\/pre>\n<div><\/div>\n<pre>var example2 = new Vue({\r\n\u00a0 el: '#example-2',\r\n\u00a0 data: {\r\n\u00a0 \u00a0 \u00a0 items: [\r\n\u00a0 \u00a0 \u00a0 \u00a0 { message: 'Foo' },\r\n\u00a0 \u00a0 \u00a0 \u00a0 { message: 'Bar' }\r\n\u00a0 \u00a0 \u00a0 ]\r\n\u00a0 }\r\n})<\/pre>\n<div><\/div>\n<div><\/div>\n<div>\u589e<\/div>\n<pre>example2.items.push({ message: 'Baz123' }) \u00a0\/\/\u5728items\u6570\u7ec4\u91cc\u63d2\u5165\u5bf9\u8c61\r\n\r\nVue.set(this.items,2,{name:\u2019111\u2019}) \u00a0 \/\/\u627e\u5230\u6570\u7ec4this.items \u00a0 \u5728\u7d22\u5f152\u7684\u4f4d\u7f6e\u4e0a\u6dfb\u52a0\u6570\u636e \u00a0{name:\u2019111\u2019}\r\n\u6216\u8005\r\nthis.arrys.splice(2,0,'\u5417132\u2019) \u00a0 \/\/\u5728\u6570\u7ec4\u4e2d\u7d22\u5f152\u7684\u4f4d\u7f6e\uff0c\u63d2\u5165\u4e00\u4e2a\u6570\u7ec4\u5185\u5bb9\u4e3a'\u5417132\u2019<\/pre>\n<div><\/div>\n<div><\/div>\n<div>\u6570\u7ec4\u66ff\u6362<\/div>\n<pre>filter()\r\nconcat()\r\nslice()\r\nexample1.items = example1.items.filter(function (item) {\r\n\u00a0 return item.message.match(\/Foo\/)\r\n})<\/pre>\n<div><\/div>\n<div><\/div>\n<div>\u4fee\u6539\u6570\u7ec4\u5185\u5bb9<\/div>\n<pre>example2.items.$set(0, { childMsg: 'Changed!'})<\/pre>\n<div><\/div>\n<div>\u5220\u9664\u6570\u7ec4<\/div>\n<pre>this.arrys.splice(0,1) \u00a0\/\/\u4ece\u7b2c0\u4e2a\u7d22\u5f15\u5f00\u59cb\u5305\u62ec\u7b2c0\u4e2a\u7d22\u5f15\uff0c\u90091\u4e2a\u5143\u7d20\u5f00\u59cb\u5220\u9664\r\n\u6ce8\u610f\uff1a$remove\u5df2\u7ecf\u88ab\u5f03\u7528<\/pre>\n<p><span style=\"color: #ff0000;\">$\u7528\u6cd5<\/span><br \/>\nvm.$data \/\/\u83b7\u53d6\u5230vm\u91cc\u9762data\u8bbe\u7f6e\u7684\u6570\u636e<br \/>\nvm.$el \/\/\u83b7\u53d6\u5230\u6b64id\u7684\u539f\u751fDOM<br \/>\nvm.$options \/\/vm.$options.render=(a)=&gt;{ return a(&#8216;div&#8217;,{},&#8217;\u6587\u5b57&#8217;); } \uff0cdata\u5c5e\u6027\u91cc\u9762\u7684\u6570\u5b57\u6709\u66f4\u65b0\u5c31\u4f1a\u89e6\u53d1\u8be5\u51fd\u6570<br \/>\n\u8fd8\u6709\u66f4\u591a$\u7684\u65b9\u6cd5<\/p>\n<p><span style=\"color: #ff0000;\">\u8868\u8fbe\u5f0f<\/span><\/p>\n<pre>{{str}} \/\/\u8f93\u51fa\u53d8\u91cf\r\n\u8868\u8fbe\u5f0f\u6307\u51fajs\u8bed\u6cd5\r\n{{ number + 1 }}\r\n{{ ok ? 'YES' : 'NO' }} \/\/\u53ea\u80fd\u4f7f\u7528\u4e09\u5143\u8fd0\u7b97\uff0c\u4e0d\u80fd\u4f7f\u7528if else\r\n{{ message.split('').reverse().join('') }}\r\n&lt;div v-bind:id=\"'list-' + id\"&gt;&lt;\/div&gt;<\/pre>\n<p><span style=\"color: #ff0000;\">\u4e0d\u89e3\u6790\u8868\u8fbe\u5f0f<\/span><\/p>\n<pre>&lt;div v-pre&gt;{{name}} &lt;\/div&gt; \/\/\u76f4\u63a5\u8f93\u51fa {{name}}<\/pre>\n<p><span style=\"color: #ff0000;\">\u8ba1\u7b97\u5c5e\u6027<\/span><br \/>\n\u8ba1\u7b97\u5c5e\u6027\u4e3b\u8981\u662f\u5f25\u8865\u89e3\u51b3{{}}\u8868\u8fbe\u5f0f\u4e0d\u80fd\u89e3\u51b3\u590d\u6742\u7684\u95ee\u9898\u3002<br \/>\nvue\u521d\u59cb\u5316\u65f6\uff0c\u6709\u4e9b\u5c5e\u6027\u9700\u8981\u5728vue\u521d\u59cb\u5316\u540e\u8fdb\u884c\u8ba1\u7b97\u540e\u624d\u663e\u793a<br \/>\n\u4ec0\u4e48\u65f6\u5019\u9700\u8981\u8ba1\u7b97\u5c5e\u6027\uff1f\u5f53\u4e00\u4e2a\u503c\u9700\u8981\u4f9d\u8d56\u53e6\u4e00\u4e2a\u503c\u53d8\u5316\u800c\u53d8\u5316\u7684\u65f6\u5019\u5c31\u9700\u8981\uff0c\u5c24\u5176\u662f\u5bf9\u5927\u6570\u636e\u7684\u65f6\u5019<\/p>\n<pre>&lt;div id=\"example\"&gt;\r\n a={{ a }}, b={{ b }}\r\n&lt;\/div&gt;\r\n\r\nvar vm = new Vue({\r\n  el: '#example',\r\n  data: {\r\n    a: 1\r\n  },\r\n  computed: { \/\/\u8ba1\u7b97\u5c5e\u6027\u91cc\u9762\u7684\u5c5e\u6027\u540d\u8c03\u7528\u65f6\uff0c\u76f4\u63a5\u5199\u53d8\u91cf\uff0c\u5982\uff1a{{b}}, \u4e0d\u80fd{{b()}}\r\n    b: function () { \/\/\u5728\u8ba1\u7b97\u5c5e\u6027\u91cc\u9762\u5b9a\u4e49\u7684\u5c5e\u6027\u540d\u53ef\u4ee5\u76f4\u63a5\u5728\u8868\u8fbe\u5f0f\u4e2d\u663e\u793a\uff0cb\u503c\u4f9d\u8d56a\uff0c\u9700\u8981\u521d\u59cb\u5316\u65f6\u8ba1\u7b97\u51fab\u503c\u8fd9\u65f6\u5019\u5c31\u9700\u8981\u8ba1\u7b97\u5c5e\u6027\r\n    \/\/ `this` \u6307\u5411 vm \u5b9e\u4f8b\r\n       return this.a + 1 \/\/a\u503c\u53d8\u5316\uff0cb\u503c\u4e5f\u4f1a\u81ea\u52a8\u66f4\u65b0\r\n    }\r\n\r\n    \/\/\u53e6\u4e00\u79cd\u5199\u6cd5\uff1a\r\n    myname:{\r\n       get(){ return this.xx  },\r\n       set(newValue){ this.$refs.xxx.src = newValue }   \/\/\u5728\u522b\u7684\u5730\u65b9\u4fee\u6539 this.myname = 'baidu.con',newValue\u5c31\u80fd\u83b7\u53d6\u5230\u503c\r\n    }\u00a0\r\n  }\r\n})\r\n\r\n\u7ed3\u679c\uff1a\r\na=1,b=2  (\u53ea\u6709\u53d8\u91cfb\u88ab\u8c03\u7528\u7684\u65f6\u5019\uff0c\u8ba1\u7b97\u5c5e\u6027\u91cc\u9762\u7684\u51fd\u6570\u624d\u4f1a\u53bb\u8fd0\u884c)<\/pre>\n<p>***\u6ce8\u610f\uff1a\u5f53\u4f7f\u7528v-model\u76d1\u542c\u67d0\u4e2a\u503c\u65f6\uff0c\u9875\u9762\u4e2d\u6b63\u597d\u6709\u4e00\u4e2a\u8868\u8fbe\u5f0f\u662f\u7c7b\u4f3c\u662f&lt;p&gt;{{xx()}}&lt;\/p&gt;\uff0c\u5982\u679cxx()\u5982\u679c\u662f\u505a\u4e86\u5f88\u590d\u6742\u8017\u65f6\u7684\u8ba1\u7b97\uff0c\u63a8\u8350\u628axx\u65b9\u6cd5\u5199\u5165\u5230computed,\u4e2d\u4e0d\u7136\u9875\u9762\u6027\u80fd\u4f1a\u5927\u5927\u964d\u4f4e\u3002\u6848\u4f8b\uff1a<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/indexaaa.html\">indexaaa<\/a><\/p>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:285px\"><div style=\"padding-top:105.26315789474%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"285\" height=\"300\" class=\"alignnone size-medium wp-image-7058 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/QQ20181124-171200@2x-285x300.png\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/QQ20181124-171200@2x-285x300.png\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/QQ20181124-171200@2x-285x300.png 285w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/QQ20181124-171200@2x-768x810.png 768w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/QQ20181124-171200@2x-971x1024.png 971w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/QQ20181124-171200@2x.png 1106w\" sizes=\"auto, (max-width: 285px) 100vw, 285px\"><\/figure>\n<p><a href=\"https:\/\/cn.vuejs.org\/v2\/guide\/computed.html#%E8%AE%A1%E7%AE%97%E5%B1%9E%E6%80%A7%E7%9A%84-setter\" target=\"_blank\" rel=\"noopener\">https:\/\/cn.vuejs.org\/v2\/guide\/computed.html#%E8%AE%A1%E7%AE%97%E5%B1%9E%E6%80%A7%E7%9A%84-setter<\/a><\/p>\n<p>\u8fd8\u989d\u5916\u63d0\u4f9b\u4e00\u4e2aset\u5c5e\u6027<\/p>\n<pre>computed:{\r\n    fullName:{\r\n        get: function (){\r\n            return this.firstName + ' ' + this.lastName\r\n        },\r\n        set: function (newValue) {\r\n            \/\/\u4e00\u65e6this.fullName = '1122'\u5c5e\u6027\u6709\u6539\u53d8\u5c31\u4f1a\u89e6\u53d1set\r\n            this.firstName = newValue\r\n            this.lastName = '\u6539\u4e86'\r\n        }\r\n    }\r\n},<\/pre>\n<p><span style=\"color: #ff0000;\">\u8868\u5355<\/span><\/p>\n<p>\u6848\u4f8b\uff1a<a href=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/test.html\" target=\"_blank\" rel=\"noopener\">test<\/a><\/p>\n<p><span style=\"color: #ff0000;\">\u6a21\u677f<\/span><br \/>\n\/\/\u9700\u8981\u63a7\u5236\u5927\u90e8\u5206html\u663e\u793a\u3001\u9690\u85cf\u7684 \u5c31\u628ahtml\u90fd\u653e\u5165&lt;template&gt;\u91cc\u9762<br \/>\n\/\/v-show \u4e0d\u80fd\u7528\u5728 &lt;template&gt;\u4e0a \u4e5f\u4e0d\u652f\u6301 v-else<\/p>\n<pre>&lt;template v-if=\"message\"&gt;\r\n  &lt;h1&gt;Title&lt;\/h1&gt;\r\n  &lt;p&gt;Paragraph 1&lt;\/p&gt;\r\n  &lt;p&gt;Paragraph 2&lt;\/p&gt;\r\n&lt;\/template&gt;\r\n&lt;p v-else&gt;No&lt;\/p&gt;\r\n\r\n\r\n\u53d6\u4ee3v-else\u7684\u65b9\u6cd5\uff1a\r\n&lt;p v-show=\"condition\"&gt;YES&lt;\/p&gt;\r\n&lt;p v-show=\"!condition\"&gt;NO&lt;\/p&gt;<\/pre>\n<p>(\u63d0\u793a\uff1a\u9891\u7e41\u5207\u6362\u63a8\u8350\u4f7f\u7528v-show\uff0c\u56e0\u4e3av-if\u6bcf\u6b21\u663e\u793a\u7684\u65f6\u5019\u90fd\u9700\u8981\u8017\u6027\u80fd)<\/p>\n<p><span style=\"color: #ff0000;\">\u8fc7\u6ee4\u5668\u8868\u8fbe\u5f0f<\/span><\/p>\n<p>\u8fc7\u6ee4\u5668\u53ea\u80fd\u653e\u5728{{ }} \u548c v-bind \u4e2d<\/p>\n<pre>{{ message | capitalize }}    \/\/message\u7684\u503c\u4f20\u5165\u5230capitalize\u51fd\u6570\u91cc\u9762\u8fdb\u884c\u8fc7\u6ee4\u5904\u7406\u540e\u5728\u8fd4\u56de\r\n{{ message | filterA | filterB }}    \/\/\u8fc7\u6ee4\u6761\u4ef6\u53ef\u4ee5\u53e0\u52a0\r\n{{ message | filterA (\u2018arg1', arg2) }}   \/\/\u8fc7\u6ee4\u4f20\u53c2\u6570\uff0c\u9ed8\u8ba4\u7b2c\u4e00\u4e2a\u53c2\u6570\u662fmessage\uff0c\u2018arg1', arg2\u5206\u522b\u662f\u7b2c\u4e8c\u3001\u7b2c\u4e09\u4e2a\u53c2\u6570<\/pre>\n<pre>&lt;li v-for=\"(value,index) in scroll_img\" :class=\"value.xx | filterA\"&gt;\r\n   {{index}}\r\n&lt;\/li&gt;<\/pre>\n<p>\u81ea\u5b9a\u4e49\u8fc7\u6ee4\u5668<\/p>\n<pre>&lt;p&gt;{{name | time_style | add_year}}&lt;\/p&gt;  \/\/name\u662f\u6570\u636e\uff0cname\u6570\u636e\u4f1a\u7ecf\u8fc7time_style\u3001add_year\u7684\u8fc7\u6ee4\r\n\r\ndata:{\r\n  name:new Date(),  \/\/\u539f\u59cb\u6570\u636e\r\n},\r\nfilters:{\r\n  time_style:function (value) {\r\n    console.log(value); \/\/\u8fd9\u91cc\u7684value\u5c31\u662fnew Date()\r\n    return value.getHours()+':'+value.getMinutes()+':'+value.getSeconds()\r\n  },\r\n  add_year:function (value) {\r\n    console.log(value); \/\/\u8fd9\u91cc\u7684value\u662f\u7ecf\u8fc7time_style\u5904\u7406\u8fc7\u540e\u8fd4\u56de\u6765\u7684\u503c\r\n    return \"2017-\"+value\r\n  }\r\n}<\/pre>\n<p><span style=\"color: #ff0000;\">\u6761\u4ef6\u8bed\u53e5 (\u663e\u9690)<\/span><\/p>\n<pre>\/\/v-if\u662f\u76f4\u63a5\u5220\u9664DOM\u6765\u63a7\u5236\u663e\u9690\r\n&lt;p v-if=\"greeting\"&gt;Hello!&lt;\/p&gt;\r\n&lt;p v-else&gt;No&lt;\/p&gt;\r\n\r\n\u6761\u4ef6\u53ef\u4ee5\u8fd9\u4e48\u5199\r\n&lt;h1 v-if=\"yes\"&gt;Yes!&lt;\/h1&gt;\r\n&lt;h1 v-if=\"no\"&gt;No!&lt;\/h1&gt;\r\n&lt;h1 v-if=\"age &gt;= 25\"&gt;Age: {{ age }}&lt;\/h1&gt;\r\n&lt;h1 v-if=\"name.indexOf('jack') &gt;= 0\"&gt;Name: {{ name }}&lt;\/h1&gt;\r\n\r\nvar vm = new Vue({\r\n  el: '#app',\r\n  data: {\r\n    yes: true,\r\n    no: false,\r\n    age: 28,\r\n    name: 'keepfool'\r\n  }\r\n})\r\n\r\n\r\n\/\/v-show\u6839\u636edisplay: none;\u6765\u63a7\u5236\u663e\u9690\r\n&lt;p v-show=\"message\"&gt;YES&lt;\/p&gt;\r\n&lt;p v-else&gt;No&lt;\/p&gt;\r\n\r\n\r\n2.1.0 \u65b0\u589e\r\n&lt;div v-if=\"type === 'A'\"&gt;\r\nA\r\n&lt;\/div&gt;\r\n&lt;div v-else-if=\"type === 'B'\"&gt;\r\nB\r\n&lt;\/div&gt;\r\n&lt;div v-else-if=\"type === 'C'\"&gt;\r\nC\r\n&lt;\/div&gt;\r\n&lt;div v-else&gt;\r\nNot A\/B\/C\r\n&lt;\/div&gt;<\/pre>\n<p><span style=\"color: #ff0000;\">\u5143\u7d20\u5c5e\u6027attr<\/span><\/p>\n<pre>data: {\r\n text:'text',\r\n value:'\u503c',\r\n url:'http:\/\/baidu.com',\r\n a_title:'a\u8fde\u63a5'\r\n}\r\n\r\n&lt;a v-bind:href=\"url\" v-bind:title=\"a_title\"&gt;aaa&lt;\/a&gt;\r\n\/\/&lt;a href=\"http:\/\/baidu.com\" title=\"a\u8fde\u63a5\"&gt;aaa&lt;\/a&gt;\r\n\r\n&lt;input v-bind:type=\"text\" v-bind:value=\"value\"&gt;\r\n\/\/&lt;input type=\"text\" value=\"\u503c\"&gt;\r\n\r\n&lt;a v-bind:href=\"url\"&gt;&lt;\/a&gt;\r\n\u7f29\u5199\uff1a\r\n&lt;a :href=\"url\"&gt;&lt;\/a&gt;<\/pre>\n<div><span style=\"color: #ff0000;\">\u52a8\u6001\u5c5e\u6027<\/span><\/div>\n<p><!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tJZCI6IjMxMTgtMTU0OTAxMjk2NjgyMSIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJhbGlnbiI6ImxlZnQiLCJpbmRlbnQiOjAsInRleHQtaW5kZW50IjowLCJsaW5lLWhlaWdodCI6MS43NSwiYmFjay1jb2xvciI6IiIsInBhZGRpbmciOiIifSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiLliqgiLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19LHsiY2hhciI6IuaAgSIsInN0eWxlcyI6eyJjb2xvciI6IiNkZjQwMmEifX0seyJjaGFyIjoi5bGeIiwic3R5bGVzIjp7ImNvbG9yIjoiI2RmNDAyYSJ9fSx7ImNoYXIiOiLmgKciLCJzdHlsZXMiOnsiY29sb3IiOiIjZGY0MDJhIn19XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19XQ==--><\/p>\n<pre>data(){\r\n msg:'\u5185\u5bb9'\r\n name:'titlexx',\r\n event:'click'\r\n},\r\ntemplate:`&lt;div :[name]=\"msg\" @[event]=\"handle\"&gt;&lt;\/div&gt;`,\r\nmethods:{\r\n handle(){\r\n }\r\n}\r\n\r\n\u6548\u679c\uff1a\r\n&lt;div titlexx=\"\u5185\u5bb9\"&gt;&lt;\/div&gt;<\/pre>\n<p><span style=\"color: #ff0000;\">class\u52a8\u6001\u6dfb\u52a0<\/span><br \/>\n\u5728vue\u4e2d\u6dfb\u52a0class\u63a8\u8350\u4f7f\u7528v-bind:class\u6765\u6dfb\u52a0<\/p>\n<p>\u5bf9\u8c61\u65b9\u6cd5\uff1a<\/p>\n<pre>(1)\r\n &lt;div class=\"static\" v-bind:class=\"{ 'class-a': isA, 'class-b': isB }\"&gt;&lt;\/div&gt;\r\ndata: {\r\n isA: true,\r\n isB: false\r\n}\r\n\u7ed3\u679c\uff1a&lt;div class=\"static class-a\"&gt;&lt;\/div&gt;\r\n \r\n\r\n(2)\r\n&lt;div v-bind:class=\"classObject\"&gt;&lt;\/div&gt;\r\ndata: {\r\n  classObject: {\r\n   'class-a': true,\r\n   'class-b': false\r\n  }\r\n}<\/pre>\n<p>\u6570\u7ec4\u65b9\u6cd5\uff1a<\/p>\n<pre>&lt;div v-bind:class=\"[classA, classB]\"&gt;\r\ndata: {\r\n  classA: 'class-a',\r\n  classB: 'class-b'\r\n}\r\n\r\n&lt;div class=\"class-a class-b\"&gt;&lt;\/div&gt;<\/pre>\n<p>\u6570\u7ec4\u548c\u5bf9\u8c61<\/p>\n<pre>&lt;div v-bind:class=\"[{'active':a},iserror]\"&gt; fasdfasdf &lt;\/div&gt;\r\n\r\ndata:{\r\n  a:true,\r\n  iserror:'name_class'\r\n},\r\n\r\n\u7ed3\u679c\uff1a&lt;div class=\"active name_class\"&gt; fasdfasdf &lt;\/div&gt;\r\n\r\n\r\n\u53e6\u4e00\u79cd\u8868\u8fbe\u5f0f\r\n&lt;div v-bind:class=\"[classA, { classB: isB, classC: isC }]\"&gt;<\/pre>\n<p>\u4e09\u5143\u8868\u8fbe\u5f0f<\/p>\n<pre>&lt;div v-bind:class=\"[classA, isB ? classB : '']\"&gt;<\/pre>\n<p>\u5982\u679c\u9047\u5230\u8d1f\u8d23\u5224\u65ad\u63a8\u8350\u4f7f\u7528\u8ba1\u7b97\u5c5e\u6027\uff0c\u5982\uff1a<\/p>\n<pre>&lt;input type=\"text\" v-model=\"name\" :class=\"class_array\"&gt;\r\n\r\nvar app=new Vue({\r\n  el:\"#app\",\r\n  data:{\r\n    a:true,\r\n    b:false\r\n  },\r\n  computed:{\r\n    class_array:function () {\r\n                   return {\r\n                      class_1: this.a &amp;&amp; !this.b\r\n                   }\r\n                 }\r\n  }\r\n});<\/pre>\n<p><span style=\"color: #ff0000;\">css\u6837\u5f0f<\/span><\/p>\n<pre>(\u63a8\u8350)\u5bf9\u8c61\u65b9\u6cd5\uff1a\r\n&lt;div v-bind:style=\"styleObject\"&gt;&lt;\/div&gt;\r\ndata: {\r\n  styleObject: {\r\n    color: 'red',\r\n    fontSize: '13px'\r\n  }\r\n}\r\n\r\n\u6570\u7ec4\u65b9\u6cd5\uff1a\r\n&lt;div v-bind:style=\"[styleObjectA, styleObjectB]\"&gt;fff&lt;\/div&gt;\r\ndata: {\r\n  styleObjectA:{color:'red'},\r\n  styleObjectB:{fontSize:'13px'},\r\n}\r\n\r\n\r\n\u5e38\u89c4\uff1a\r\n&lt;img alt=\"\" :style=\"'background:url('+val.cover_picture+') no-repeat center;border:0'\"&gt;\r\n\r\n\u7ed3\u679c\u90fd\u662f\uff1a&lt;div style=\"color: red; font-size: 13px;\"&gt;fff&lt;\/div&gt;<\/pre>\n<p>\u90fd\u7c7b\u4f3c\u8981\u5b66\u4f1a\u4e3e\u4e00\u53cd\u4e09<\/p>\n<p><span style=\"color: #ff0000;\">DOM\u4e8b\u4ef6<\/span><\/p>\n<pre>v-on:input\u00a0 \u7f29\u5199 @input\r\n\r\n&lt;input type=\"text\" @input=\"fn\"&gt;  \/\/fn\u5199\u9700\u8981\u7684\u903b\u8f91\u5224\u65ad\r\n\r\n\u7c7b\u4f3c\u4e8ejquery\u5199\u6cd5\r\n$('.tx').bind('input propertychange', function() {    \r\n    document.title=$(this).val();\r\n});<\/pre>\n<p><span style=\"color: #ff0000;\">\u56fe\u7247\u76d1\u542c\u4e8b\u4ef6<\/span><\/p>\n<pre>&lt;img :src=\"item.iconUrl\" @error=\"errorImgfn\" &gt;\r\n\r\nmethods: {\r\n    errorImgfn(e){\r\n      e.target.src=require('@\/assets\/imgs\/dbsx.png')\r\n    },\r\n}\r\n\r\n\u6216\u8005\r\n&lt;img :src=\"item.iconUrl\" :onerror=\"errorImg\" &gt;\r\n\r\n data () {\r\n    return {\r\n      errorImg: 'this.src=\"' + require('@\/assets\/imgs\/dbsx.png') + '\"'\r\n    };\r\n },\r\n\u540c\u6837\u4e5f\u6709@onload=\"\"<\/pre>\n<p>\u6848\u4f8b\uff1a<\/p>\n<pre>methods:{\r\n  click:function(e){\r\n    console.log(this);\r\n  }\r\n}\r\n\r\n&lt;button v-on:click=\"click($event)\"&gt;\u70b9&lt;\/button&gt;\r\n\u7f29\u5199\uff1a&lt;button @click=\"click($event)\"&gt;\u70b9&lt;\/button&gt;<\/pre>\n<p>\u89e3\u9664\u4e8b\u4ef6\u7ed1\u5b9a\uff1a<\/p>\n<p>vue\u4e0d\u50cfjquery\u6709unbind\u548coff\uff0c\u4f46\u662f\u53ef\u4ee5\u5229\u7528\u4e00\u4e9b\u5c0f\u6280\u5de7\u53bb\u5b9e\u73b0\uff0c\u4f8b\u5982\uff1a<\/p>\n<pre>&lt;div id=\"app\"&gt;\r\n &lt;button @click=\"status &amp;&amp; fn($event)\"&gt;xxx&lt;\/button&gt;\r\n &lt;p&gt;&lt;button @click=\"bian\"&gt;change&lt;\/button&gt;&lt;\/p&gt;\r\n&lt;\/div&gt;\r\n\r\nnew Vue({\r\n el:'#app',\r\n data:{\r\n    status:true\r\n },\r\n methods:{\r\n    fn:function (e) {\r\n        console.log(e)\r\n    },\r\n    bian:function () {\r\n        this.status=false;\r\n    }\r\n }\r\n});\r\n\r\n\/\/\u901a\u8fc7\u6539\u53d8status\u53d8\u91cf\u53bb\u5b9e\u73b0<\/pre>\n<p>\u5e38\u7528\uff1a<\/p>\n<pre>@focus  \/\/input \u83b7\u53d6\u7126\u70b9\r\n@blur   \/\/ \u5931\u53bb\u7126\u70b9<\/pre>\n<p><span style=\"color: #ff0000;\">touch\u4e8b\u4ef6<\/span><\/p>\n<p>\u957f\u6309\uff0c\u70b9\u51fb\u4e8b\u4ef6<\/p>\n<pre>&lt;div @touchstart=\"gotouchstart()\" @touchmove=\"gotouchmove\" @touchend=\"gotouchend()\"&gt;&lt;\/div&gt;<\/pre>\n<pre>methods:{\r\n       gotouchstart(img){\r\n            touch_time=new Date()\/1000; \/\/\u8bb0\u5f55\u624b\u6307\u653e\u5728\u5c4f\u5e55\u4e0a\u7684\u65f6\u95f4\r\n            temp_time=0;\r\n            run_fn=null;\r\n            clearTimeout(run_fn);\r\n           run_fn= setTimeout(function () {\r\n               Tools.dialog.strHtml('&lt;div&gt;&lt;img style=\"display: block;width: 70%;\" src=\"'+img+'\"&gt; &lt;\/div&gt;');\r\n            },800);\r\n        },\r\n        \/\/\u624b\u91ca\u653e\uff0c\u5982\u679c\u5728800\u6beb\u79d2\u5185\u5c31\u91ca\u653e\uff0c\u5219\u53d6\u6d88\u957f\u6309\u4e8b\u4ef6\uff0c\u6b64\u65f6\u53ef\u4ee5\u6267\u884conclick\u5e94\u8be5\u6267\u884c\u7684\u4e8b\u4ef6\r\n        gotouchend(num){\r\n            var self=this;\r\n            if(  Math.ceil( ((new Date()\/1000)-touch_time)*100  )\/100&gt;0.8  ){\r\n               \/\/ console.log('\u957f\u6309');\r\n\r\n            }else{\r\n                clearTimeout(run_fn);\r\n                self.gokill(num);\r\n            }\r\n        },\r\n        \/\/\u5982\u679c\u624b\u6307\u6709\u79fb\u52a8\uff0c\u5219\u53d6\u6d88\u6240\u6709\u4e8b\u4ef6\uff0c\u6b64\u65f6\u8bf4\u660e\u7528\u6237\u53ea\u662f\u8981\u79fb\u52a8\u800c\u4e0d\u662f\u957f\u6309\r\n        gotouchmove(){\r\n            clearTimeout(run_fn);\r\n        },\r\n}<\/pre>\n<p><span style=\"color: #ff0000;\">\u6307\u4ee4\u4fee\u9970\u7b26<\/span><\/p>\n<pre>&lt;a v-bind:href.literal=\"url\" v-bind:title=\"a_title\"&gt;aaa&lt;\/a&gt;\r\n\u76f4\u63a5\u663e\u793a &lt;a href=\"url\" title=\"a\u8fde\u63a5\"&gt;aaa&lt;\/a&gt; \/\/href\u76f4\u63a5\u663e\u793a\u5c5e\u6027\u540d\r\n\r\n\u7981\u6b62\u9ed8\u8ba4\u884c\u4e3a\r\n&lt;button v-on:submit.prevent=\"onSubmit\"&gt;&lt;\/button&gt; \/\/\u76f8\u5f53\u4e8e\u52a0\u4e86event.preventDefault()\r\n\r\n&lt;a @click.stop=\u201c\"&gt; &lt;\/a&gt; \/\/\u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\r\n&lt;div @click.self&gt;&lt;\/div&gt; \/\/\u53ea\u6709\u8be5\u5143\u7d20\u89e6\u53d1\uff0c\u4e0d\u5305\u62ec\u5b50\u5143\u7d20<\/pre>\n<p>1\uff0c\u4e8b\u4ef6\u4fee\u9970\u7b26<\/p>\n<pre>.stop \/\/\u963b\u6b62\u4e8b\u4ef6\u5192\u6ce1\r\n.prevent \/\/\u963b\u6b62\u9ed8\u8ba4\u884c\u4e3a\uff0c\u4f8b\u5982\u70b9\u51fba\u4f1a\u81ea\u52a8\u8df3\u9875\u9762\uff0c\u70b9\u51fb&lt;input type=\u201csubmit\u201d&gt;\u4f1a\u5237\u65b0\u63d0\u4ea4\u6570\u636e\r\n.capture \/\/\u4e00\u822c\u4e8b\u4ef6\u90fd\u662f\u5728\u5192\u6ce1\u65f6\u5019\u88ab\u6267\u884c\u7684\uff0caddEventListener(\u2018click\u2019,fn,true) ,\u6dfb\u52a0\u6b64\u4fee\u9970\u7b26\u76f8\u5f53\u4e8e\u6539\u6210\u4e86true,\u9ed8\u8ba4\u662ffalse\r\n.self \/\/\u4f8b\u5982\u5f53\u7236\u5143\u7d20\u7ed1\u5b9a\u4e86click,\u7236\u5143\u7d20\u91cc\u9762\u53c8\u6709\u4e00\u4e2a\u5b50\u5143\u7d20\uff0c\u5f53\u70b9\u51fb\u4e86\u5b50\u5143\u7d20\u65f6\u5019\uff0c\u5176\u5b9e\u540c\u65f6\u4e5f\u70b9\u51fb\u4e86\u7236\u5143\u7d20\u56e0\u4e3a\u7236\u5143\u7d20\u5305\u88f9\u7740\u5b50\u5143\u7d20\u561b\uff0cclick\u89e6\u53d1\u3002\u5f53\u7ed9\u7236\u5143\u7d20\u6dfb\u52a0.self\u65f6\uff0c\u5728\u70b9\u51fb\u5b50\u5143\u7d20\u65f6\u5019\uff0c\u5c31\u4e0d\u4f1a\u51fa\u53d1click\u4e86\u3002\u4e5f\u6709\u963b\u6b62\u5192\u6ce1\u7684\u6548\u679c\uff0c\u76f8\u5f53\u4e8ee.currentTarget\r\n.once \/\/2.1.4 \u65b0\u589e\uff0c\u53ea\u89e6\u53d1\u4e00\u6b21\u4e8b\u4ef6\r\n.native \/\/ v-on:click.native\uff0c\u8fd9\u6837\u89e6\u53d1\u7684\u5c31\u662fjs\u539f\u751f\u7684click\u4e8b\u4ef6\u4e86\u800c\u4e0d\u662fvue\u5c01\u88c5\u597d\u7684\u4e8b\u4ef6\r\n\r\n&lt;a v-on:click.stop=\"doThis\"&gt;&lt;\/a&gt; \/\/\u963b\u6b62\u9ed8\u8ba4\u884c\u4e3a\r\n&lt;a v-on:click.stop.prevent=\"doThat\"&gt;&lt;\/a&gt; \/\/\u540c\u65f6\u963b\u6b62\u9ed8\u8ba4\u884c\u4e3a\u548c\u4e8b\u4ef6\u5192\u6ce1\r\n&lt;form v-on:submit.prevent&gt;&lt;\/form&gt; \/\/\u53ea\u6dfb\u52a0\u4fee\u9970\u7b26 \uff0c\u4e0d\u6dfb\u52a0\u5176\u4ed6\u53c2\u6570<\/pre>\n<p>2\uff0c\u952e\u76d8\u4fee\u9970\u7b26<\/p>\n<pre>&lt;!-- \u540c\u4e0a --&gt;\r\n&lt;input v-on:keyup.enter=\u201cfn\u201d&gt; \/\/\u5f53input\u83b7\u53d6\u7126\u70b9\u65f6\u5019\uff0c\u6309\u56de\u8f66\u5c31\u4f1a\u89e6\u53d1fn\u4e8b\u4ef6\uff0c\u5bf9\u5916\u8c03\u7528\u5c31\u662f\r\nvm.fn()\u4e8b\u4ef6\r\n\r\n&lt;!-- \u7f29\u5199\u8bed\u6cd5 --&gt;\r\n&lt;input @keyup.enter=\u201cfn\"&gt;\r\n\u6216\u8005\r\n&lt;input @keyup.13=\"fn\" type=\"text\u201d&gt;\r\n\r\n\u6309\u952e\u7ec4\u5408\r\n&lt;input @keyup.ctrl.67=\"fn\" type=\"text\u201d&gt; \/\/\u83b7\u53d6input\u7126\u70b9\u540e\u540c\u65f6\u6309\u4f4fctrl+c \u5c31\u80fd\u89e6\u53d1fn\u51fd\u6570\r\n\r\n\r\n\u952e\u76d8\u522b\u540d\r\nenter\r\ntab\r\ndelete\r\nesc\r\nspace\r\nup\r\ndown\r\nleft\r\nright\r\nctrl\r\nalt\r\nshift\r\nmeta (mac\u662fcommand,win\u662fwindows)\r\n\r\n\u81ea\u5b9a\u4e49\u522b\u540d\r\nVue.config.keyCodes.huiche=13<\/pre>\n<p>3\uff0c\u6570\u636e\u540c\u6b65\u4fee\u9970\u7b26<\/p>\n<pre>lazy \/\/\u6548\u679c\u90fd\u662f\u540c\u6b65\uff0c\u4f46\u662f\u53ea\u6709\u5728input\u5931\u53bb\u7126\u70b9\u65f6\u5019\u624d\u540c\u6b65\u6570\u636e\r\nnumber \/\/\u5c06\u5b57\u7b26\u4e32\u7684\u6570\u5b57\u8f6c\u5316\u4e3a\u6570\u5b57\u7c7b\u578b\uff0c\u5982\u679c\u662fNaN\u76f4\u63a5\u663e\u793a\u6b64\u6570\u636e\uff0c\u4f8b\u5982\u662fabc123,\u8bf4\u660e\u662fNaN\uff0c\u90a3\u5c31\u76f4\u63a5\u663e\u793aabc123\r\ntrim \/\/\u81ea\u52a8\u53bb\u6389 \u9996\u5c3e\u7a7a\u683c\r\n\r\n\r\n\u4e3e\u4f8b\uff1a\r\n&lt;input v-model.lazy=\"msg\"&gt;\r\n&lt;input v-model.number=\"msg\"&gt;\r\n&lt;input v-model.trim=\"msg\"&gt;<\/pre>\n<p><span style=\"color: #ff0000;\">\u5c5e\u6027\u76d1\u542c$watch<\/span><\/p>\n<p><a href=\"https:\/\/cn.vuejs.org\/v2\/api\/#watch\" target=\"_blank\" rel=\"noopener\">https:\/\/cn.vuejs.org\/v2\/api\/#watch<\/a><\/p>\n<pre>var vm = new Vue({\r\n   el:'#app',\r\n   data:{\r\n       str:'\u4f60\u597d',\r\n       arr:[],\r\n       obj:{\r\n           a:''\r\n       }\r\n   },\r\n   watch:{\r\n      str:function(new_value,old_value){\r\n      },\r\n      'obj.a':{\r\n         handler: function (new_value,old_value) { \/* ... *\/ }\r\n      }\r\n      \/\/\u6216\u8005\r\n      'obj':{\r\n         handler: function (new_value,old_value) { new_value.a },\r\n         deep: true, \/\/\u6df1\u5ea6\u76d1\u542c\r\n         immediate: true \/\/true\u65f6\uff0c\u9ed8\u8ba4\u6267\u884c\u4e00\u6b21handler\u51fd\u6570\r\n      }\r\n   }\r\n});\r\n\r\n\u6216\u8005\r\n\r\n<\/pre>\n<p><a href=\"https:\/\/cn.vuejs.org\/v2\/api\/#vm-watch\" target=\"_blank\" rel=\"noopener\">https:\/\/cn.vuejs.org\/v2\/api\/#vm-watch<\/a><\/p>\n<pre>vm.$watch('str', function (new_value,old_value) { \/\/\u5c5e\u6027\u503c\u53d1\u751f\u6539\u53d8\u5c31\u4f1a\u89e6\u53d1\r\n \r\n},{\r\n  deep: true\r\n});\r\n\r\n\/\/\u6ce8\u610f\u5982\u679c\u76f4\u63a5\u76d1\u542c\u6574\u4e2a\u5bf9\u8c61arr\u6216\u8005obj\uff0cold_value\u8fd4\u56de\u6765\u7684\u503c\u8ddfnew_value\u662f\u4e00\u6837\u7684\r\n\r\n<\/pre>\n<p><span style=\"color: #ff0000;\">input\u76d1\u542c<\/span><\/p>\n<p>\u4e24\u79cd\u65b9\u6cd5<\/p>\n<p>1,v-on:input<\/p>\n<pre>&lt;input type=\"text\" v-on:input =\"inputFunc($event)\"&gt;\r\n\r\nmethods:{\r\n   inputFunc:function (e) {\r\n      document.title=e.target.value;\r\n   },\r\n}<\/pre>\n<p>2,watch<\/p>\n<pre>&lt;input type=\"number\" :value=\"buy_num\" v-model=\"buy_num\"&gt;\r\n\r\ndata:{\r\n   buy_num:0\r\n},\r\nwatch:{\r\n   buy_num:function(){\r\n         console.log(this.buy_num);\r\n   }\r\n}<\/pre>\n<p><span style=\"color: #ff0000;\">\u5faa\u73af\u3001\u904d\u5386<\/span><\/p>\n<p>\u6570\u636e\uff1a<\/p>\n<pre>data:{\r\n   array:['\u9648\u9648',20,'\u7537'],\r\n   obj:{\r\n     xx1:'\u6570\u5b571',\r\n     xx2:'\u6570\u5b572',\r\n     xx3:'\u6570\u5b573'\r\n   },\r\n}<\/pre>\n<p>\u6570\u7ec4\uff1a<\/p>\n<pre>&lt;ul&gt;\r\n &lt;li v-for=\"(value,index) in array\"&gt;\r\n    \u7d22\u5f15:{{index}}----\u503c\uff1a{{value}}\r\n &lt;\/li&gt;\r\n&lt;\/ul&gt;<\/pre>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:492px\"><div style=\"padding-top:52.642276422764%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"492\" height=\"259\" class=\"alignnone size-full wp-image-6510 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_array.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_array.jpg\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_array.jpg 492w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_array-300x158.jpg 300w\" sizes=\"auto, (max-width: 492px) 100vw, 492px\"><\/figure>\n<p>\u5bf9\u8c61\uff1a<\/p>\n<pre>&lt;ul&gt;\r\n &lt;li v-for=\"(value,key,index) in obj\"&gt;\r\n   \u5c5e\u6027\u540d\uff1a{{key}}--- \r\n   \u503c\u662f:{{value}}---\r\n   \u7d22\u5f15\u662f{{index}} \r\n &lt;\/li&gt;\r\n&lt;\/ul&gt;<\/pre>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:688px\"><div style=\"padding-top:39.244186046512%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"688\" height=\"270\" class=\"alignnone size-full wp-image-6511 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_obj.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_obj.jpg\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_obj.jpg 688w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_obj-300x118.jpg 300w\" sizes=\"auto, (max-width: 688px) 100vw, 688px\"><\/figure>\n<p>\u590d\u5408\u6570\u636e:<\/p>\n<pre>data:{\r\n    scroll_img:[\r\n     {img_name:1},\r\n     {img_name:2},\r\n     {img_name:3},\r\n     {img_name:4}\r\n    ]\r\n},\r\nmethods:{\r\n    remove_li:function (index) {\r\n       this.scroll_img.splice(index,1)\r\n    }\r\n}<\/pre>\n<p>\u5bf9\u8c61\u548c\u6570\u7ec4\uff1a<\/p>\n<pre>&lt;ul&gt;\r\n &lt;li :class=\"'xx-'+index\" :title=\"value.img_name\" v-for=\"(value,index) in scroll_img\"&gt;\r\n   \u503c\u662f:{{value.img_name}}---\r\n   \u7d22\u5f15\u662f{{index}} ----\r\n   &lt;button @click=\"remove_li(index)\"&gt;\u5220\u9664\u8be5\u9879&lt;\/button&gt;\r\n &lt;\/li&gt;\r\n&lt;\/ul&gt;<\/pre>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:540px\"><div style=\"padding-top:46.296296296296%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"540\" height=\"250\" class=\"alignnone size-full wp-image-6513 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/obj_array1.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/obj_array1.jpg\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/obj_array1.jpg 540w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/obj_array1-300x139.jpg 300w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\"><\/figure>\n<p>v-for\u4e92\u5d4c<\/p>\n<pre>data:{\r\n  scroll_img:[\r\n    {img_name1:1},\r\n    {img_name2:2},\r\n    {img_name3:3},\r\n    {img_name4:4},\r\n  ]\r\n}\r\n\r\n\r\n&lt;ul&gt;\r\n &lt;li v-for=\"(value,index) in scroll_img\"&gt;\r\n   \u7d22\u5f15:{{index}}---\r\n   &lt;span v-for=\" (val,key,index) in value\"&gt; \u5c5e\u6027:{{key}} &lt;\/span&gt;---\r\n   &lt;span v-for=\" (val,key,index) in value\"&gt; \u503c:{{val}} &lt;\/span&gt;\r\n &lt;\/li&gt;\r\n&lt;\/ul&gt;<\/pre>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:571px\"><div style=\"padding-top:45.53415061296%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"571\" height=\"260\" class=\"alignnone size-full wp-image-6514 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/forandfor.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/forandfor.jpg\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/forandfor.jpg 571w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/forandfor-300x137.jpg 300w\" sizes=\"auto, (max-width: 571px) 100vw, 571px\"><\/figure>\n<p>v-for \u7b5b\u9009\u3001\u8fc7\u6ee4<\/p>\n<p>\u5728\u904d\u5386\u7684\u540c\u65f6\u4e0d\u5e0c\u671b\u6709\u4e9b\u6570\u636e\u663e\u793a\u51fa\u6765<\/p>\n<pre>1\uff0c\/\/v-bind:class\u65b9\u6cd5\uff0c\u7ed9\u4e0d\u9700\u8981\u663e\u793a\u7684\u6570\u636e\u6dfb\u52a0\u6307\u5b9aclass\u540d\u9690\u85cf\u6216\u8005\u6dfb\u52a0test\u81ea\u5b9a\u4e49\u8fc7\u6ee4\u65b9\u6cd5\r\n&lt;li v-for=\"(value,index) in scroll_img\" :class=\"!!value.xx?'gg':'mm' | test\"&gt;\r\n   \u7d22\u5f15:{{index}}---\r\n&lt;\/li&gt;<\/pre>\n<pre>2\uff0c\/\/v-show\u65b9\u6cd5\uff0c\u8ddfv-bind:class\u6548\u679c\u7c7b\u4f3c\u4ec5\u4ec5\u662f\u9690\u85cf\uff0cdom\u8fd8\u662f\u5b58\u5728\u7684<\/pre>\n<pre>3\uff0c\/\/v-if,\u76f4\u63a5\u628a\u4e0d\u5e0c\u671b\u663e\u793a\u7684\u6570\u636e\u5220\u9664\r\n&lt;li v-for=\"(value,index) in scroll_img\" v-if=\"!value=='xx'\"&gt;  \/\/\u904d\u5386\u51fa\u6765\u7684value\u503c\u5982\u679c\u7b49\u4e8exx\u5b57\u7b26\u4e32\u5c31\u4e0d\u663e\u793a\r\n  \u7d22\u5f15:{{index}}---\r\n&lt;\/li&gt;<\/pre>\n<pre>4\uff0c\u901a\u8fc7\u8ba1\u7b97\u5c5e\u6027\u5728\u8fc7\u6ee4\u540e\u624d\u628a\u503c\u5e26\u5165\u5230v-for\u4e2d\u904d\u5386<\/pre>\n<p>v-for\u6392\u5e8f\uff1a\u5347\u5e8f\u3001\u964d\u5e8f<\/p>\n<p>\u5982\u679c\u5e0c\u671b\u904d\u5386\u7684\u503c\u6839\u636e\u67d0\u4e2a\u5b57\u6bb5\u964d\u5e8f\u6216\u8005\u5347\u5e8f\uff0c\u8981\u5148\u901a\u8fc7\u8ba1\u7b97\u5c5e\u6027\u6392\u5217\u597d\u624d\u5e26\u5165\u5230v-for\u5faa\u73af\u4e2d<\/p>\n<p><span style=\"color: #ff0000;\">:key\u91cd\u65b0\u6e32\u67d3<\/span><\/p>\n<p>\u6848\u4f8b\uff1a<\/p>\n<p>\u9ed8\u8ba4\u60c5\u51b5\u4f7f\u7528v-for\u6e32\u67d3\u5217\u8868\u65f6\uff0c\u5728\u6bcf\u4e2ainput\u8f93\u5165\u5185\u5bb9\uff0c\u5982\u4e0b<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:281px\"><div style=\"padding-top:44.839857651246%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"281\" height=\"126\" class=\"alignnone size-full wp-image-6530 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_input1.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_input1.jpg\"><\/figure>\n<p>\u5728\u70b9\u51fb\u201c\u6253\u4e71\u987a\u5e8f\u201d\uff0creverse()\uff0c\u89c6\u56fe\u4e0a\u5e76\u6ca1\u6709\u53d1\u751f\u4efb\u4f55\u53d8\u5316\uff0c\u5176\u5b9edom\u7ed3\u6784\u5df2\u7ecf\u53d1\u751f\u4e86\u53d8\u5316\uff0c\u5982\u56fe\uff1a<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:636px\"><div style=\"padding-top:47.955974842767%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"636\" height=\"305\" class=\"alignnone size-full wp-image-6531 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_input2.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_input2.jpg\" data-srcset=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_input2.jpg 636w, https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_input2-300x144.jpg 300w\" sizes=\"auto, (max-width: 636px) 100vw, 636px\"><\/figure>\n<p>\u6240\u4ee5\u9700\u8981\u5f3a\u5236\u5728\u66f4\u65b0\u4e00\u6b21\u6392\u5e8f\u89c6\u56fe\u624d\u80fd\u540c\u6b65\u66f4\u65b0\uff0c\u7ed9\u904d\u5386input\u7684dom\u7ed3\u6784\u6dfb\u52a0\u4e00\u4e2a:key=&#8221;index&#8221;\u5c5e\u6027\uff0cindex\u5fc5\u987b\u662f\u552f\u4e00\u4e0d\u80fd\u91cd\u590d\uff0c\u6dfb\u52a0\u4e4b\u540e\u5728\u70b9\u51fb\u201c\u6253\u4e71\u987a\u5e8f\u201d\uff0c<\/p>\n<figure class=\"mdx-lazyload-container\" style=\"max-width:258px\"><div style=\"padding-top:46.511627906977%\"><\/div><div class=\"mdx-img-loading-sp mdui-valign\"><div><div class=\"mdui-spinner\"><\/div><\/div><\/div><img width=\"258\" height=\"120\" class=\"alignnone size-full wp-image-6532 lazyload\" title=\"vue.js\u7b14\u8bb0\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_input3.jpg\" alt=\"https:\/\/sdeno.com\/wp-content\/uploads\/2017\/12\/for_input3.jpg\"><\/figure>\n<p>\u5982\u679c\u5728\u4f7f\u7528v-for\u904d\u5386\u6570\u636e\u65f6\uff0c\u5982\u679c\u6570\u636e\u53d1\u751f\u4e86\u53d8\u5316\u4f46\u662f\u89c6\u56fe\u6ca1\u53d8\u53ef\u4ee5\u5c1d\u8bd5\u4f7f\u7528:key\u6765\u89e3\u51b3\u3002<\/p>\n<p><a href=\"https:\/\/cythilya.github.io\/2017\/04\/27\/vue-list-rendering\/\" target=\"_blank\" rel=\"noopener\">https:\/\/cythilya.github.io\/2017\/04\/27\/vue-list-rendering\/<\/a><\/p>\n<p><span style=\"color: #ff0000;\">\u751f\u547d\u5468\u671f<\/span><\/p>\n<p>vue\u7684\u4e00\u7cfb\u5217\u6267\u884c\u8fc7\u7a0b\uff0c\u5176\u5b9e\u90fd\u901a\u8fc7\u4ee5\u4e0b\u7684\u94a9\u5b50(\u56de\u8c03\u51fd\u6570)\u6355\u83b7\u5230\uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u901a\u8fc7\u94a9\u5b50\u5728\u6211\u4eec\u9700\u8981\u7684\u67d0\u65f6\u523b\u6dfb\u52a0\u6211\u4eec\u9700\u8981\u7684\u529f\u80fd\u3002<\/p>\n<p>(1)\u7b2c\u4e00\u6b21\u5237\u65b0\u9875\u9762\u52a0\u8f7d\u65f6\u90fd\u4f1a\u89e6\u53d1\u5230\u4ee5\u4e0b\u94a9\u5b50\uff1a<\/p>\n<pre>beforeCreate   \/\/\u5e38\u7528\uff0c\u6dfb\u52a0\u7c7b\u4f3cloding\u6548\u679c\r\ncreate   \/\/\u5e38\u7528\uff0c\u5728\u6570\u636e\u663e\u793a\u5230\u89c6\u56fe\u65f6\uff0c\u5728\u989d\u5916\u6dfb\u52a0\u6570\u636e\u5230vm.$data\u4e2d\r\nbeforeMount\r\nmounted   \/\/\u5e38\u7528\uff0c\u6709\u65f6\u9700\u8981\u83b7\u53d6dom,\u6216\u8005\u628a\u63a5\u53e3\u7684\u6570\u636e\u63d2\u5165\u5230dom\u4e2d<\/pre>\n<p>(2)\u6570\u636e\u53d1\u751f\u6539\u53d8\u65f6\uff1a<\/p>\n<pre>beforeUpdate\r\nupdated   \/\/\u5e38\u7528\uff0c\u6570\u636e\u53d1\u751f\u6539\u53d8\u540e\u56de\u8c03<\/pre>\n<p>(3) \u9500\u6bc1\uff08\u5c31\u662f\u505c\u6b62\u6570\u636e\u7684\u53cc\u5411\u7ed1\u5b9a\u6548\u679c\uff09vm.$destroy()<\/p>\n<pre>beforeDestroy\r\ndestroyed  \/\/\u5e38\u7528\uff0c\u9500\u6bc1\u540e\u56de\u8c03<\/pre>\n<p>\u867d\u7136\u751f\u547d\u5468\u671f\u7ecf\u5386\u8fc7\u8fd9\u51e0\u4e2a\u6b65\u9aa4\uff0c\u4f46\u662f\u5e38\u7528\u7684\u4e5f\u5c31\u90a3\u4e48\u51e0\u4e2a\u3002<\/p>\n<p><span style=\"color: #ff0000;\">\u7ec4\u4ef6\u5c01\u88c5(\u91cd\u70b9)<\/span><\/p>\n<p>\u81ea\u5df1\u4e00\u4e2a\u7ecf\u5178\u6848\u4f8b\uff1a\u300a<a href=\"https:\/\/sdeno.com\/?p=8331\" target=\"_blank\" rel=\"noopener\">vue\u6811\u8282\u70b9\u521b\u5efa\u4ee5\u53ca\u589e\u5220\u6539<\/a>\u300b<\/p>\n<p>\u4f5c\u7528\u5c31\u662f\u53ef\u4ee5\u91cd\u590d\u6027\u7684\u5229\u7528\u4ee3\u7801\uff0c\u4f8b\u5982\u9009\u9879\u5361\u7ec4\u4ef6\u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u9875\u9762\u4e0b \u591a\u6b21\u4f7f\u7528\u3002<\/p>\n<p>\u7ec4\u4ef6\u5206\uff1a\u5168\u5c40 \u548c \u5c40\u90e8<\/p>\n<p>1\uff0c\u5168\u5c40<\/p>\n<pre>var myComponent = Vue.extend({\r\n  template: '&lt;div&gt;This is my first component!&lt;\/div&gt;\u2019 \/\/\u8fd9\u4e2a\u662f\u5b50\u7ec4\u4ef6,\u7ec4\u4ef6\u5fc5\u987b\u8981\u6709\u4e00\u4e2a\u5bb9\u5668div\u5305\u88f9\u7740\u624d\u884c\r\n})\r\n\r\n\r\n<\/pre>\n<pre>\/\/ 2.\u6ce8\u518c\u7ec4\u4ef6\uff0c\u5e76\u6307\u5b9a\u7ec4\u4ef6\u7684\u6807\u7b7e\uff0c\u7ec4\u4ef6\u7684HTML\u6807\u7b7e\u4e3a&lt;my-component&gt;\r\nVue.component('my-component', myComponent)  &lt;---\u5168\u5c40\u7ec4\u4ef6\u58f0\u660e\u65b9\u6cd5\r\n\r\n\u6216\u8005\r\n\r\nVue.component('my-component',{\r\n   template: '&lt;div&gt;This is my first component!&lt;\/div&gt;\u2019 \/\/\u8fd9\u4e2a\u662f\u5b50\u7ec4\u4ef6,\u7ec4\u4ef6\u5fc5\u987b\u8981\u6709\u4e00\u4e2a\u5bb9\u5668div\u5305\u88f9\u7740\u624d\u884c\r\n})\r\n\r\n\/\/\u5168\u5c40\u7ec4\u4ef6\u58f0\u660e\u4e00\u5b9a\u8981\u5199\u5728new Vue\u5b9e\u4f8b\u5bf9\u8c61\u7684\u524d\u9762\u4e0d\u7136\u5c31\u51fa\u9519\r\n\r\nnew Vue({\r\n el: '#app'\r\n});\r\n\r\n<\/pre>\n<pre>\u8c03\u7528\uff1a\r\n&lt;div id=\"app\"&gt;\r\n  &lt;!-- 3. #app\u662fVue\u5b9e\u4f8b\u6302\u8f7d\u7684\u5143\u7d20\uff0c\u5e94\u8be5\u5728\u6302\u8f7d\u5143\u7d20\u8303\u56f4\u5185\u4f7f\u7528\u7ec4\u4ef6--&gt;\r\n  &lt;my-component&gt;&lt;\/my-component&gt; \/\/\u8c03\u7528\u7ec4\u4ef6\uff0c\u653e\u5728\u54ea\u4e2avm\u5bb9\u5668\u4e0b\u5c31\u5728\u54ea\u4e2avm\u663e\u793a\uff0c\u8fd9\u4e2a\u662f\u7236\u7ec4\u4ef6\r\n&lt;\/div&gt;<\/pre>\n<p>2\uff0c\u5c40\u90e8<\/p>\n<pre>new Vue({\r\n   el: '#app',\r\n   components: {\r\n      'my-component' : {\r\n          template:'&lt;div&gt; &lt;button @click=\"fn\"&gt;\u6309\u94ae1&lt;\/button&gt; &lt;p&gt;{{value}}&lt;\/p&gt; &lt;\/div&gt;'\r\n      }\r\n   }\r\n});\r\n\r\n\r\n\u6216\u8005\r\n\r\nvar myComponent = Vue.extend({\r\n  template: '&lt;div&gt;This is my first component!&lt;\/div&gt;'\r\n})\r\n\r\nnew Vue({<br style=\"font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; white-space: normal; background-color: #ffffff;\" \/>  el: '#app',\r\n  components: {\r\n    \/\/ 2. \u5c06myComponent\u7ec4\u4ef6\u6ce8\u518c\u5230\u5bb9\u5668#app\u5b9e\u4f8b\u4e0b\uff0c\u4e5f\u5c31\u53ea\u6709\u6b64vm\u5bb9\u5668\u5185\u90e8\u53ef\u4ee5\u4f7f\u7528\u5176\u4ed6\u7684\u5bb9\u5668\u4e0d\u884c\r\n   'my-component' : myComponent\r\n  }\r\n});<\/pre>\n<pre>\u8c03\u7528\uff1a\r\n&lt;div id=\"app\"&gt;\r\n   &lt;!-- 3. my-component\u53ea\u80fd\u5728#app\u4e0b\u4f7f\u7528--&gt;\r\n   &lt;my-component&gt;&lt;\/my-component&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>\u4ee5\u4e0a\u53d1\u73b0\u4e00\u4e2a\u95ee\u9898\u5982\u679c\u5728\u7ec4\u4ef6\u590d\u6742\u7684\u65f6\u5019template\u9700\u8981\u5f88\u591ahtml\u5c31\u5f88\u9ebb\u70e6\u4e14\u4e0d\u597d\u5199\uff0c<br \/>\n\u53ef\u4ee5\u5229\u7528&lt;script type=&#8221;text\/x-template&#8221; id=&#8221;page\u201d&gt;<\/p>\n<pre>\u6848\u4f8b\uff1a\r\n&lt;script type=\"text\/x-template\" id=\"page\"&gt; \r\n &lt;ul&gt;\r\n   &lt;li&gt;&lt;\/li&gt;\r\n &lt;\/ul&gt;\r\n&lt;\/script&gt;\r\n\r\nVue.component(\"page\",{ template:\"#page\"})\r\n\r\n\u6216\u8005\r\n\r\ntemplate:'&lt;div&gt;\\\r\n           &lt;h2&gt;\u6211\u662f\u5b50\u7ec4\u4ef6\u7684\u6807\u9898&lt;\/h2&gt;\\\r\n           &lt;slot&gt;\\\r\n             \u53ea\u6709\u5728\u6ca1\u6709\u8981\u5206\u53d1\u7684\u5185\u5bb9\u65f6\u624d\u4f1a\u663e\u793a\u3002\\\r\n           &lt;\/slot&gt;\\\r\n          &lt;\/div&gt;'<\/pre>\n<p>\u7279\u6b8adom\u7ed3\u6784\u00a0 \u4f7f\u7528is<br \/>\n\u4f8b\u5982table\u7684\u7ed3\u6784\u90fd\u662f\u56fa\u5b9a\u7684\uff0c\u8981\u57fa\u4e8e\u8fd9\u6837\u56fa\u5b9a\u7ed3\u6784\u6a21\u677f\u6765\u5199\u7ec4\u4ef6\u8981\u8fd9\u4e48\u505a<\/p>\n<pre>&lt;table&gt;\r\n  &lt;tbody is=\"my-component\"&gt;&lt;\/tbody&gt;  \/\/\u8fd9\u91cc\u7684tbody\u4f1a\u88ab\u6a21\u7248\u66ff\u4ee3\r\n&lt;\/table&gt;\r\n\r\nVue.component('my-component',{\r\n template:'&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;123&lt;\/td&gt;&lt;\/tr&gt;&lt;\/tbody&gt;'\r\n});<\/pre>\n<p>\u6548\u679c\uff1a<\/p>\n<pre>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;123&lt;\/td&gt;&lt;\/tr&gt;&lt;\/tbody&gt;&lt;\/table&gt;<\/pre>\n<p>\u7c7b\u4f3c\u7684\u8fd8\u6709ul ol select<\/p>\n<p>*\u6ce8\u610f\uff1a\u4e0d\u63a8\u8350\u4f7f\u7528table\u8868\u683c\u91cc\u9762\u5d4c\u5957vue\u4ee3\u7801\u4f1a\u62a5\u9519\uff0c\u5c24\u5176\u662fie10\u4ee5\u4e0a\u6d4f\u89c8\u5668\u3002\u63a8\u8350\u4f7f\u7528div+css\u53bb\u6a21\u62dftable\u8868\u683c<\/p>\n<pre>.vam { display: table; border-collapse:separate;border-spacing: 5px; } \/\/table\r\n.vam&gt;div { display: table-row; }  \/\/tr\r\n.vam&gt;div&gt;div { display: table-cell; vertical-align: middle; }  \/\/td\r\n\r\n&lt;div class=\"vam\"&gt;\r\n    &lt;div&gt;\r\n        &lt;div&gt; &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n&lt;\/div&gt;<\/pre>\n<p><span style=\"color: #ff0000;\">\u7ec4\u4ef6\u7ee7\u627f<\/span><\/p>\n<p>\/\/\u7ec4\u4ef6\u7ee7\u627f\u4f7f\u7528\u573a\u666f\uff0c\u53ef\u4ee5\u628a\u591a\u7ec4\u4ef6\u4f7f\u7528\u6bd4\u8f83\u591a\u7684\u65b9\u6cd5\u72ec\u7acb\u5c01\u88c5\u6210\u4e00\u4e2a\u516c\u5171\u7ec4\u4ef6\uff0c\u5176\u4ed6\u7ec4\u4ef6\u5728\u53bb\u8c03\u7528\uff0c\u907f\u514d\u5199\u91cd\u590d\u4ee3\u7801\u3002<\/p>\n<pre>&lt;div id=\"root\"&gt;\r\n\r\n&lt;\/div&gt;\r\n\r\nvar a={\r\n   template:`&lt;div&gt;123---{{xxx}}&lt;\/div&gt;`\r\n}\r\n\r\nvar x=Vue.extend(a);\r\n\r\nnew x({\r\n  el:'#root',\r\n  data:{\r\n     xxx:'aaa'\r\n  }\r\n});<\/pre>\n<pre>\/\/\u7236\u7ec4\u4ef6\r\nvar a={\r\n  template:`&lt;div&gt;123&lt;\/div&gt;`,\r\n  mounted(){\r\n     console.log('a\u7236\u4eb2');\r\n  }\r\n}\r\n\r\n\r\n\/\/\u5b50\u7ec4\u4ef6\r\nvar b={\r\n  extends:a, \/\/\u5b50\u7ee7\u627f\u7236\r\n  template:`&lt;div&gt;456&lt;\/div&gt;`, \/\/\u5b50\u6a21\u677f\u8986\u76d6\u7236\u6a21\u677f\r\n  mounted(){\r\n    console.log('b\u5b50');\r\n    this.$parent.$options.name \/\/\u6253\u5370\u51fa\u5b9e\u4f8b\u5316\u5bf9\u8c61\u7684name\u5c5e\u6027\u503c\r\n  }\r\n}\r\n\r\n  \u5b9e\u4f8b\u5316\u65b9\u6cd51\uff1a\r\n  var c=Vue.extend(b);  \/\/\u7ec4\u4ef6b\u63d2\u5165\u5230Vue\u5bf9\u8c61\u4e2d\r\n  new c({\r\n    el:'#root'\r\n  });\r\n\r\n  \u5b9e\u4f8b\u5316\u65b9\u6cd52\uff1a \/\/\u63a8\u8350\u4f7f\u7528\u8fd9\u79cd\u5199\u6cd5\r\n  new Vue({\r\n      name:'root',\r\n      el:'#root',\r\n      components:{\r\n          diycomponent:b\r\n      },\r\n      template:'&lt;diycomponent&gt;&lt;\/diycomponent&gt;'\r\n  });\r\n\r\n\/\/\u7ed3\u679c\r\na\u7236\u4eb2\r\nb\u5b50<\/pre>\n<p>parent\u6848\u4f8b\uff1a<\/p>\n<pre>var a={\r\n  template:`\r\n   &lt;div&gt;\r\n     &lt;div&gt;{{haha}}---{{baba}}&lt;\/div&gt;\r\n   123&lt;\/div&gt;\r\n  `,\r\n  props:['baba']\r\n}\r\n\r\n\r\nvar b={\r\n  extends:a, \/\/b\u7ec4\u4ef6\u7ee7\u627fa\u7ec4\u4ef6\r\n  data:function () {\r\n    return {\r\n       haha:'\u7ed9\u7236\u7ec4\u4ef6\u4f20\u53c2'\r\n    }\r\n  }\r\n}\r\n\r\nvar xx=new Vue({\r\n  name:'xx',\r\n  data:{\r\n    a1:'11',\r\n    b2:'22'\r\n  }\r\n});\r\n\r\n\r\nnew Vue({\r\n  parent:xx, \/\/\u7ee7\u627fxx\u7684new Vue\u5bf9\u8c61\r\n  el:'#root',\r\n\r\n  components:{\r\n    com:b \/\/\u5f15\u5165\u7ec4\u4ef6b\r\n  },\r\n  template:'&lt;com :baba=\"this.$parent.a1\"&gt;&lt;\/com&gt;', \/\/\u5c06\u7ec4\u4ef6\u6e32\u67d3\u51fa\u6765\r\n  mounted:function () {\r\n      console.log( this.$parent.a1 ); \/\/\u83b7\u53d6\u5230\u6307\u5b9a\u7236\u5143\u7d20\u7684\u503c,\u53ef\u4ee5\u83b7\u53d6\u4e0d\u63a8\u8350\u53bb\u4fee\u6539\r\n  }\r\n});\r\n\r\n<\/pre>\n<p><span style=\"color: #ff0000;\">\u7ec4\u4ef6\u4f20\u53c2 (\u91cd\u70b9)<\/span><\/p>\n<p>\u8981\u5411\u7ec4\u4ef6\u4e2d\u7684template\u6a21\u677f\u4f20\u503c\uff0c\u53ea\u80fd\u9760\u7ec4\u4ef6\u4e2d\u7684data\u548cprops<br \/>\nprop \u662f\u5355\u5411\u7ed1\u5b9a\u7684\uff1a\u5f53\u7236\u7ec4\u4ef6\u7684\u5c5e\u6027\u53d8\u5316\u65f6\uff0c\u5c06\u4f20\u5bfc\u7ed9\u5b50\u7ec4\u4ef6\uff0c\u4f46\u662f\u4e0d\u4f1a\u53cd\u8fc7\u6765\u3002<\/p>\n<div>1\uff0c\u7ec4\u4ef6\u4f20\u5165\u53c2\u6570<\/div>\n<pre>\/\/\u4ee5\u4e0b\u662f\u5b50\u7ec4\u4ef6\r\nVue.component('todo-item', { \u00a0 \u00a0\/\/\u7ec4\u4ef6\u8981\u653e\u5728\u6700\u524d\u9762\u4e0d\u80fd\u653e\u5728new Vue\u540e\u9762\r\n\u00a0 \u00a0\u00a0template: \u2018&lt;li v-show=\u201cnum\"&gt;This is a todo{{num}}------{{value1}}-----{{value2}}&lt;\/li&gt;\u2019, \u00a0 \/\/\u5b50\u7ec4\u4ef6\r\n\u00a0 \u00a0\u00a0data:function () { \u00a0\/\/\u4f20\u9012\u53c2\u6570\uff0c\u8fd9\u91cc\u8981\u4f7f\u7528function\r\n\u00a0 \u00a0 \u00a0 \u00a0return {num:0} \u00a0\/\/\u8fd4\u56de\u7684\u4e5f\u5fc5\u987b\u662f\u5bf9\u8c61\r\n\u00a0 \u00a0 },\r\n\u00a0 \u00a0\u00a0props:['value1','value2\u2019] \u00a0\/\/\u7236\u7ec4\u4ef6\u8981\u4f20\u503c\u7ed9\u5b50\u7ec4\u4ef6\u5c31\u5fc5\u987b\u5728props\u91cc\u9762\u58f0\u660e\u53d8\u91cf\r\n})\r\n\/\/\u4ee5\u4e0a\u662f\u5b50\u7ec4\u4ef6\r\n\r\nvar vm = new Vue({\r\n  el: '#app\u2019,\r\n  data:{\r\n    parentMsg:\u2019\u5b57\u7b26\u4e32'\r\n  }\r\n});\r\n\r\n&lt;div id=\"app\"&gt;\r\n  &lt;ol&gt;\r\n    \/\/\u5982\u679c\u8981\u83b7\u53d6\u5230vue\u5b9e\u4f8b\u5bf9\u8c61\u91cc\u9762\u7684\u6570\u636e\u5c31\u8981\u4f7f\u7528v-bind,\u4ee5\u4e0bparentMsg\u5c31\u662fvue\u5b9e\u4f8b\u5bf9\u8c61\u4e2ddata\u7684\u6570\u636e\r\n    &lt;todo-item value1=\"\u53c2\u65701\" v-bind:value2=\"parentMsg\"&gt;&lt;\/todo-item&gt;  \/\/&lt;--\u8fd9\u4e2a\u662f\u7236\u7ec4\u4ef6\r\n  &lt;\/ol&gt;\r\n&lt;\/div&gt;<\/pre>\n<div><\/div>\n<div><\/div>\n<div>\u00a02\uff0c\u52a8\u6001\u53c2\u6570<br \/>\n\u5176\u5b9e\u5c31\u662fv-model\u548c\u53c2\u6570\u7ed3\u5408<\/div>\n<pre>&lt;input type=\"text\" v-model=\"parentMsg\"&gt;\r\n&lt;my-dir v-bind:value1=\"parentMsg\"&gt;&lt;\/my-dir&gt;  \/\/value1\u662f\u5b50\u7ec4\u4ef6\u91cc\u9762\u7684props\u91cc\u7684\u5c5e\u6027\uff0cparentMsg\u662fvue\u5b9e\u4f8b\u5316\u5bf9\u8c61\u4e2ddata\u91cc\u7684\u6570\u636e<\/pre>\n<p>3\uff0c\u4f20\u9012\u6570\u636e\u7c7b\u578b<br \/>\n\u7528v-bind \u548c \u4e0d\u7528\u7684\u533a\u522b<\/p>\n<pre>&lt;my-dir value1=\"1\"&gt;&lt;\/my-dir&gt; \/\/\u8fd9\u65f6\u5019\u4f20\u9012\u7684\u662f\u5b57\u7b26\u4e32\u7c7b\u578b\r\n&lt;my-dir v-bind:value1=\"1\"&gt;&lt;\/my-dir&gt; \/\/\u8fd9\u65f6\u5019\u4f20\u9012\u7684\u662f\u6570\u5b57\u7c7b\u578b\r\n\r\n&lt;my-dir value1=\"[1,2]\"&gt;&lt;\/my-dir&gt; \/\/\u4f20\u9012\u7ed9\u6a21\u677f\u7684\u6570\u636e\u7c7b\u578b\u4ec5\u4ec5\u662f\u5b57\u7b26\u4e32\r\n&lt;my-dir :value1=\"[1,2]\"&gt;&lt;\/my-dir&gt; \/\/\u4f20\u7ed9\u6a21\u677f\u7684\u6570\u636e\u7c7b\u578b\u662f\u6570\u7ec4<\/pre>\n<p>4\uff0c\u53c2\u6570\u9a8c\u8bc1<br \/>\n\u9650\u5236\u7236\u7ec4\u4ef6\u53c2\u6570\u4f20\u5165\u7684\u7c7b\u578b\uff0c\u6216\u8005\u81ea\u5b9a\u4e49\u4f20\u5165\u53c2\u6570\u7684\u9a8c\u8bc1\u65b9\u6cd5 \u3002\u8fd9\u4e9b\u4e3b\u8981\u7ec4\u4ef6\u7ed9\u522b\u4eba\u7528\u65f6\u505a\u7684\u9650\u5236\u3002<\/p>\n<pre>\u4f8b\u5982\uff1a\r\nprops:{\r\n value1: {\r\n   type: Number,\r\n   default: 100\r\n },\r\n value2:Number,\r\n value3:[String,Number],\r\n value4:{\r\n   type:Boolean,\r\n   required:true\r\n },\r\n value5:{\r\n   type:Array,\r\n   default:function(){\r\n     return [];\r\n   }\r\n },\r\n value6:{\r\n   validator:function(value){ \/\/\u81ea\u5b9a\u4e49\u9a8c\u8bc1\uff0cvalue6=\u201c11\u201d \u4f20\u5165\u7684\u503c\u5fc5\u987b\u5927\u4e8e10\r\n      return value&gt;10\r\n   }\r\n }\r\n}<\/pre>\n<p>\u9664\u4e86\u4ee5\u4e0a\u7c7b\u578b\u8fd8\u6709 Object \u3001Function<\/p>\n<p>\u6848\u4f8b\uff1a<\/p>\n<p>&lt;my-dir value1=\u201c1&#8243;&gt;&lt;\/my-dir&gt; \/\/\u8fd9\u6837\u9650\u5236\u4e86value1\u4f20\u5165\u7684\u7c7b\u578b\uff0c\u5fc5\u987b\u662f\u6570\u5b57\u7c7b\u578b\uff0c\u5982\u679c\u7ec4\u4ef6\u6ca1\u8bbe\u7f6evalue1\u5c5e\u6027\uff0c\u90a3\u4e48\u9ed8\u8ba4\u51fa\u5165\u503c\u4e3a100<br \/>\n\u8fd8\u6709\u66f4\u591a\u8bf7\u53c2\u8003api<\/p>\n<p>5\uff0c\u5b50\u7ec4\u4ef6\u4f20\u53c2\u6570\u7ed9\u7236\u7ec4\u4ef6<br \/>\n\u7236\u7ec4\u4ef6\u53ef\u4ee5\u901a\u8fc7props\u4f20\u53c2\u6570\u7ed9\u5b50\u7ec4\u4ef6\uff0c\u5b50\u7ec4\u4ef6\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u6cd5\u505a\u5230\uff0c\u5c31\u5fc5\u987b\u4f7f\u7528\u81ea\u5b9a\u4e49\u4e8b\u4ef6<br \/>\n$on(eventName) \u76d1\u542c\u4e8b\u4ef6\u00a0\/\/\u9002\u7528\u5728\u4e0d\u540c\u7ec4\u4ef6\u4e4b\u95f4\u4f20\u53c2\u4f7f\u7528<br \/>\n$emit(eventName) \u89e6\u53d1\u4e8b\u4ef6\u00a0 \/\/\u9002\u7528\u5b50\u7ec4\u4ef6\u4f20\u53c2\u7ed9\u7236\u7ec4\u4ef6\u3002\u4f8b\u5982$emit(&#8216;click&#8217;,data)\u8be5\u65b9\u6cd5\u90fd\u5199\u5b50\u7ec4\u4ef6\u4e2d \uff0c\u8fd9\u91cc\u7684click\u662f\u7236\u7ec4\u4ef6\u4e2d\uff0cdata\u662f\u5b50\u7ec4\u4ef6\u8981\u4f20\u7ed9\u7236\u7ec4\u4ef6\u7684\u6570\u636e<\/p>\n<p>$once\u53ea\u6709\u89e6\u53d1\u4e00\u6b21<\/p>\n<p>\u76f4\u63a5\u770b\u4f8b\u5b50\uff1a<\/p>\n<pre>&lt;my-component @on_jia=\"get_num\" v-on:on_jian=\"get_num\"&gt;&lt;\/my-component&gt;\r\n&lt;p&gt;\u8fd9\u91cc\u7684str\u662fvue\u5b9e\u4f8b\u5316\u5bf9\u8c61\u91cc\u9762\u7684\u6570\u636e\uff1a{{str}}&lt;\/p&gt;\r\n\r\n\r\nVue.component('my-component',{\r\n template:'&lt;div&gt;&lt;button @click=\"jia(num)\"&gt;+&lt;\/button&gt;-----&lt;button @click=\"jian(num)\"&gt;-&lt;\/button&gt;&lt;\/div&gt;',\r\n data:function () {\r\n     return {num:0}\r\n },\r\n methods:{\r\n   jia:function (value) {\r\n     value=value+1;\r\n     this.num=value;\r\n\r\n     this.$emit('on_jia',this.num);\r\n   },\r\n   jian:function (value) {\r\n     value=value-1;\r\n     this.num=value;\r\n     this.$emit('on_jian',this.num);\r\n   }\r\n }\r\n});\r\n\r\n\r\n\r\nvar vm=new Vue({\r\n el:'#app',\r\n data:{\r\n   str:0\r\n },\r\n methods:{\r\n   get_num:function (value) {\r\n      this.str=value;\r\n   }\r\n }\r\n});<\/pre>\n<p>\u6700\u7ec8\u6548\u679c\uff1a\u628a\u7ec4\u4ef6\u91cc\u9762\u7684\u53c2\u6570\u503c\u4f20\u7ed9\u4e86\u5b9e\u4f8b\u5316\u5bf9\u8c61<\/p>\n<p>\u8fc7\u7a0b\uff1a<br \/>\n1,\u5b50\u7ec4\u4ef6\u91cc\u9762\u901a\u8fc7 this.$emit(\u81ea\u5b9a\u4e49\u65b9\u6cd5,\u53c2\u6570) \u81ea\u5b9a\u4e49\u4e00\u4e2a\u65b9\u6cd5\uff0c\u5e76\u628a\u53c2\u6570\u5e26\u8fdb\u53bb\u3002<br \/>\n2\uff0c\u7236\u7ec4\u4ef6\u901a\u8fc7v-on\u76d1\u542c\uff0c\u5b50\u7ec4\u4ef6\u81ea\u5b9a\u4e49\u7684\u65b9\u6cd5\uff0c\u5e76\u89e6\u53d1\u4e00\u4e2a\u56de\u8c03\u4e8b\u4ef6get_num\uff0cget_num\u8d1f\u8d23\u628a\u5b50\u7ec4\u4ef6\u53c2\u6570\u83b7\u53d6\u8fc7\u6765\u3002\uff08\u4e2d\u4ecb\u4f5c\u7528\uff09<br \/>\n3\uff0c\u5728vue\u5b9e\u4f8b\u5316\u5bf9\u8c61\u4e2d\uff0c\u5728methods\u91cc\u9762\u540c\u6837\u58f0\u660e\u4e00\u4e2aget_num\u5e76\u83b7\u53d6\u5230\uff0c\u7236\u7ec4\u4ef6\u4f20\u8fc7\u6765\u7684\u6570\u636e\u3002<\/p>\n<p><span style=\"color: #ff0000;\">$on\u4f7f\u7528<\/span><\/p>\n<pre>&lt;div id=\"xx\"&gt;\r\n     &lt;div @click=\"haha()\"&gt;s&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n\r\n&lt;script&gt;\r\n    \/\/ click\u4e8b\u4ef6-&gt;haha-&gt;$emit-&gt;$on-&gt;diyclick-&gt;geth\r\n    new Vue({\r\n        el:'#xx',\r\n        data(){\r\n            return{\r\n                a1:'\u521d\u59cb\u6570\u636e'\r\n            }\r\n        },\r\n        created(){\r\n            \/\/$on\u53ef\u4ee5\u4e3a\u4e00\u4e2a\u81ea\u5b9a\u4e49\u4e8b\u4ef6\u5b9a\u4e49\u591a\u4e2a\u65b9\u6cd5\uff0c\u9047\u5230\u590d\u6742\u7684\u903b\u8f91\u53ef\u4ee5\u8fd9\u6837\u5904\u7406\u4e0d\u9700\u8981\u90fd\u5199\u5728\u4e00\u8d77\u3002\r\n            \/\/\u4e00\u4e2a\u4e8b\u4ef6\u591a\u4e2a\u65b9\u6cd5\u6309\u4e0a\u5230\u4e0b\u987a\u5e8f\u6267\u884c\r\n            this.$on('diyclick',this.geth);\r\n            this.$on('diyclick',this.geth_1);\r\n\r\n            \/\/\u4e5f\u53ef\u4ee5\u5728\u540c\u4e00\u4e2a\u51fd\u6570\u4e0a\u81ea\u5b9a\u4e49\u591a\u4e2a\u81ea\u5b9a\u4e49\u4e8b\u4ef6\uff0c\u6253\u5370\u770b\u770bthis._events\r\n            \/\/this.$on(['diyclick_1','diyclick_2'],this.geth);\r\n        },\r\n        methods:{\r\n            geth(e){\r\n                console.log(this.a1,e); \/\/this.a1 \u662f$on\u81ea\u5df1\u7684\u6570\u636e\uff0ce\u662f\u987a\u5e26\u4e86$emit\u7684\u6570\u636e\r\n            },\r\n            geth_1(e){\r\n                console.log('\u8fd9\u91cc\u662fgeth_1\u6570\u636e',e);\r\n            },\r\n            haha(){\r\n                this.$emit('diyclick','$emit\u81ea\u5df1\u7684\u6570\u636e');\r\n            }\r\n        }\r\n\r\n    })\r\n&lt;\/script&gt;<\/pre>\n<p>6,\u4e0d\u540c\u7ec4\u4ef6\u4e4b\u95f4\u7684\u4f20\u53c2\uff08\u975e\u7236\u5b50\u5173\u7cfb\uff09 \u8de8\u7ec4\u4ef6\u4f20\u53c2<br \/>\n\u63cf\u8ff0\uff1a\u4e24\u4e2a\u7ec4\u4ef6\uff0c\u5206\u522b\u5728\u4e0d\u540c\u7684vue\u5b9e\u4f8b\u4e2d\uff0c\u5b9e\u73b0\u76f8\u4e92\u4e4b\u95f4\u7684\u4f20\u9012\u53c2\u6570\uff0c\u501f\u52a9\u4e00\u4e2a\u7b2c\u4e09\u4e2a\u7a7a\u7684vue\u5b9e\u4f8b\u548c$emit\u3001$on<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/\/\u521b\u5efa\/src\/eventbus.js\r\nimport Vue from 'vue'\r\nexport default new Vue()\r\n\r\n\r\n\/\/\u5b50\u7ec4\u4ef61\r\n&lt;button @click=\"fn\"&gt;1&lt;\/button&gt;\r\nimport Eventbus from '@\/eventbus'\r\nexport default {\r\n  name: \"test1\",\r\n  methods:{\r\n    fn(){\r\n      Eventbus.$emit('send',{a:1})  \/\/\u53d1\u9001\u53c2\u6570\r\n    }\r\n  }\r\n}\r\n\r\n\r\n\/\/\u5b50\u7ec4\u4ef62\r\nimport Eventbus from '@\/eventbus'\r\nexport default {\r\n  name: \"test2\",\r\n  mounted() {\r\n    Eventbus.$on('send',(e)=&gt;{\r\n      console.log(e)  \/\/\u63a5\u6536\u5230{a:1}\r\n    })\r\n  }\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<pre>\r\n<\/pre>\n<p>7\uff0c\u7ec4\u4ef6\u6570\u636e\u5171\u4eab<br \/>\n\u5176\u5b9e\u53ea\u8981\u5728\u5168\u5c40\u73af\u5883\u4e2d \u58f0\u660e\u4e00\u4e2a\u5bf9\u8c61\uff0c\u5728\u7ec4\u4ef6\u7684data\u91cc\u9762\u5f15\u7528\u5373\u53ef<\/p>\n<pre>var obj={num:0}\r\ndata:function(){\r\n return obj\r\n}<\/pre>\n<p>8,\u7236\u7ec4\u4ef6\u4f20\u503c\u7ed9\u5b50\u7ec4\u4ef6\u91cc\u7684\u8ba1\u7b97\u5c5e\u6027<\/p>\n<pre>&lt;my-component :value=\"1\"&gt;&lt;\/my-component&gt; \/\/\u7236\u7ec4\u4ef6 \u4f20\u4e00\u4e2a \u6570\u5b57\u7c7b\u578b \u503c\u4e3a1 \u7ed9\u5b50\u7ec4\u4ef6\r\n\r\nVue.component('my-component',{\r\n template:'&lt;div&gt;{{xx}}&lt;\/div&gt;\u2019, \/\/\u8ba1\u7b97\u5c5e\u6027\u7684\u7ed3\u679c\u7ed9 \u6a21\u677f\r\n props:['value'],\r\n computed:{ \r\n   xx:function () {\r\n     return this.value+2; \/\/\u83b7\u53d6\u7236\u7ec4\u4ef6\u7684\u53c2\u6570 \u5e76 \u53c2\u6570\u8ba1\u7b97\u540e\u5728\u628a\u7ed3\u679c\u4f20\u7ed9\u6a21\u677f\r\n   }\r\n }\r\n});<\/pre>\n<p>9\uff0c\u5b50\u7ec4\u4ef6\u76f4\u63a5\u83b7\u53d6\uff0c\u7ec4\u4ef6\u6240\u5728\u7684vue\u5b9e\u4f8b\u5bf9\u8c61\u91cc\u9762\u7684data\u6570\u636e<\/p>\n<pre>&lt;div id=\"app\"&gt; &lt;xx&gt;&lt;\/xx&gt; &lt;\/div&gt;\r\n\r\nVue.component('xx',{\r\n  template:'&lt;a&gt; &lt;\/a&gt;',\r\n  methods:{\r\n      fn:function(){\r\n           this.$parent.num   \/\/num\u662f\u5b9e\u4f8b\u5bf9\u8c61\u91cc\u9762\u7684\u6570\u636e\r\n      }\r\n  }\r\n});\r\n\r\n\r\nnew Vue({\r\n   el:'#app',\r\n   data:{\r\n      num:0\r\n   }\r\n});<\/pre>\n<p>\u7236\u7ec4\u4ef6\u76f4\u63a5\u83b7\u53d6\u5b50\u7ec4\u4ef6\u6570\u636e\u662f\u7528this.$children ,\u4f1a\u904d\u5386\u51fa\u6240\u6709\u7684\u5b50\u7ec4\u4ef6<\/p>\n<p>10\uff0c new Vue\u5b9e\u4f8b\u5bf9\u8c61\u76f4\u63a5\u83b7\u53d6\u5b50\u7ec4\u4ef6\u7684data\u6570\u636e\uff0c\u53ef\u4ee5\u5728\u7236\u7ec4\u4ef6\u4e0a\u7528ref=&#8221;&#8221;,\u5982\u4e0b\u6848\u4f8b\uff1a<\/p>\n<pre>&lt;div id=\"app\"&gt; &lt;xx ref=\"comA\"&gt;&lt;\/xx&gt;  &lt;a @click=\"fn\"&gt;&lt;\/a&gt; &lt;\/div&gt;  \/\/\u7ed9\u7ec4\u4ef6\u53d6\u540d\u5b57\uff0c\u65b9\u4fbf\u5feb\u901f\u5b9a\u4f4d\r\n\r\nVue.component('xx',{\r\n template:'&lt;a&gt; &lt;\/a&gt;',\r\n data:function(){\r\n    return {num:0}\r\n }\r\n});\r\n\r\n\r\nnew Vue({\r\n el:'#app',\r\n methods:{\r\n     fn:function(){\r\n          this.$refs.comA.num  \/\/num\u662f\u5b50\u7ec4\u4ef6\u7684\u6570\u636e\r\n     } \r\n }\r\n});<\/pre>\n<p>*\u6ce8\u610f\u5982\u679c\u5728\u7236\u7ec4\u4ef6\u91cc\u7684\u5b50\u8282\u70b9\u4f7f\u7528ref\u662f\u83b7\u53d6\u5230dom\u5143\u7d20\uff0c\u5982\uff1a<\/p>\n<pre>&lt;xx ref=\"comA\"&gt; &lt;span ref=\"comB\"&gt;111&lt;\/span&gt;  &lt;\/xx&gt;\r\n\r\nthis.$refs.comA.num  \/\/num\u662f\u5b50\u7ec4\u4ef6\u7684\u6570\u636e,\u6253\u53700\r\nthis.$refs.comB \/\/\u6253\u5370 dom\u5143\u7d20 &lt;span ref=\"comB\"&gt;111&lt;\/span&gt;<\/pre>\n<p>11\uff0c\u5b59\u5b50\u83b7\u53d6\u7237\u7237\u6570\u636e\uff0cprovide \/ inject<\/p>\n<pre>\/\/\u5b59\u5b50\u7ec4\u4ef6\r\nvar onecomponent={\r\n  template:`&lt;div&gt; 345 &lt;\/div&gt;`,\r\n  inject:[\r\n     'yeye',\r\n     \/\/'data'\r\n  ],\r\n  mounted(){\r\n     console.log( this.yeye.baba );\r\n    \/\/console.log( data.baba );\r\n  }\r\n}\r\n\r\n\r\n\/\/\u513f\u5b50\u7ec4\u4ef6\r\nvar component_temp={\r\n  template:`\r\n    &lt;div&gt; &lt;slot baba=\"baba22\"&gt;&lt;\/slot&gt; &lt;haha&gt;&lt;\/haha&gt; &lt;\/div&gt;\r\n  `,\r\n  data(){\r\n    return{\r\n      xx:'11'\r\n    }\r\n  },\r\n  components:{\r\n    haha:onecomponent \/\/\u5f15\u5165\u5b59\u5b50\u7ec4\u4ef6\r\n  },\r\n  props:['value1']\r\n}\r\n\r\n\r\nnew Vue({\r\n  el:'#root',\r\n  provide:function(){\r\n\r\n    \/\/\u8fd9\u91cc\u4ee3\u7801\uff0c\u9632\u6b62\u4f4e\u7248\u672c\u7684vue\uff0c\u5b59\u5b50\u5728\u83b7\u53d6\u7237\u7237\u6570\u636e\u65f6\u5019\uff0c\u6ca1\u6709\u53cc\u5411\u6570\u636e\u7ed1\u5b9a\u6548\u679c\u800c\u5199\u7684\r\n        \/\/ var data={}\r\n        \/\/ var _this=this;\r\n        \/\/ Object.defineProperty(data,'baba',{\r\n        \/\/     get:function () {\r\n        \/\/         return _this.baba\r\n        \/\/     },\r\n        \/\/     enumerable:true\r\n        \/\/ })\r\n    return{\r\n     yeye:this,\r\n     \/\/ data:data\r\n    }\r\n  },\r\n  components:{\r\n     com:component_temp\r\n  },\r\n  template:'&lt;com ref=\"x\"&gt; &lt;p slot-scope=\"diy\"&gt;{{diy.baba}}&lt;\/p&gt; &lt;\/com&gt;', \/\/\u7237\u7237\u7ec4\u4ef6\r\n  data:{\r\n    baba:'baba11' \/\/\u5b59\u5b50\u8981\u83b7\u53d6\u7237\u7237\u7684\u6570\u636e\r\n  }\r\n});<\/pre>\n<p><span style=\"color: #ff0000;\">\u7236\u5b50\u7ec4\u4ef6\u65b9\u6cd5\u8c03\u7528<\/span><\/p>\n<p>vue \u7236\u8c03\u7528\u5b50\u65b9\u6cd5<\/p>\n<p>\u5b50\uff1a<\/p>\n<pre>mounted(){\r\n  this.$on('bridge',(val)=&gt;{\r\n    this.childAction(val);\r\n  });\r\n  \/\/\/\u6b64\u65f6\u901a\u8fc7$on\u8fdb\u884c\u76d1\u542c\u4e2d\u95f4\u6865\u63a5\u51fd\u6570bridge\u5bf9\u76ee\u7684\u65b9\u6cd5childAction\u8fdb\u884c\u89e6\u53d1\r\n},\r\nmethods:{\r\n  childAction(val='hello world'){\r\n    console.log(val) \/\/\u5f97\u5230\u7238\u7238\u4f20\u6765\u7684\u6570\u636e\r\n  }\r\n}<\/pre>\n<p>\u7236\uff1a<\/p>\n<pre>&lt;Category ref=\"category\"&gt;&lt;\/Category&gt;\r\n\r\n&lt;el-button @click=\"addcate()\"&gt;\u4fee\u6539\u5206\u7c7b&lt;\/el-button&gt;\r\naddcate(){\r\n  this.$refs.category.$emit('bridge','\u8fd9\u91cc\u662f\u8981\u7ed9\u513f\u5b50\u7684\u6570\u636e');\r\n}<\/pre>\n<p>\u5b50\u8c03\u7528\u7236\u4eb2<\/p>\n<p>(1)\u901a\u8fc7this.$parent.event\u6765\u8c03\u7528\u7236\u7ec4\u4ef6\u7684\u65b9\u6cd5<\/p>\n<p>\u7236\u7ec4\u4ef6<\/p>\n<pre>methods: {\r\n fatherMethod() {\r\n   console.log('\u6d4b\u8bd5');\r\n }\r\n}<\/pre>\n<p>\u5b50\u7ec4\u4ef6<\/p>\n<pre>mounted() {\r\n  this.$parent.fatherMethod();\r\n}<\/pre>\n<p>(2)\u5b50\u7ec4\u4ef6\u91cc\u7528$emit<\/p>\n<p>\u7236\u7ec4\u4ef6<\/p>\n<pre>&lt;child @fatherMethod=\"fatherMethod\"&gt;&lt;\/child&gt;\r\n\r\nmethods: {\r\n   fatherMethod() {\r\n     console.log('\u6d4b\u8bd5');\r\n   }\r\n}<\/pre>\n<p>\u5b50\u7ec4\u4ef6<\/p>\n<pre>this.$emit('fatherMethod'); \/\/\u8c03\u7528<\/pre>\n<p>(3)\u7236\u7ec4\u4ef6\u628a\u65b9\u6cd5\u4f20\u5165\u5b50\u7ec4\u4ef6\u4e2d\uff0c\u5728\u5b50\u7ec4\u4ef6\u91cc\u76f4\u63a5\u8c03\u7528\u8fd9\u4e2a\u65b9\u6cd5<\/p>\n<p>\u7236\u7ec4\u4ef6<\/p>\n<pre>&lt;child :fatherMethod=\"fatherMethod\"&gt;&lt;\/child&gt;\r\nmethods: {\r\n      fatherMethod() {\r\n        console.log('\u6d4b\u8bd5');\r\n      }\r\n}<\/pre>\n<p>\u5b50\u7ec4\u4ef6<\/p>\n<pre>props: {\r\n fatherMethod: {\r\n   type: Function,\r\n   default: null\r\n }\r\n},\r\nmounted(){\r\n  if (this.fatherMethod) {\r\n      this.fatherMethod();\r\n  }\r\n}<\/pre>\n<p><span style=\"color: #ff0000;\">\u52a8\u6001\u7ec4\u4ef6 (\u7c7b\u4f3c\u9009\u9879\u5361)<\/span><\/p>\n<p>\u9700\u8981\u7279\u6b8a&lt;component v-bind:is=&#8221;str&#8221;&gt;&lt;\/component&gt;<\/p>\n<p>\u5176\u5b9e\u4e5f\u5c31\u662f\u591a\u4e2a\u7ec4\u4ef6\u9879\u76ee\u5207\u6362 \u663e\u793a<\/p>\n<pre>&lt;div id=\"app\"&gt;\r\n   &lt;a @click=\"fn('comA')\"&gt;&lt;\/a&gt;\r\n   &lt;a @click=\"fn('comB')\"&gt;&lt;\/a&gt;\r\n   &lt;component v-bind:is=\"str\"&gt;&lt;\/component&gt;\u00a0\u00a0\/\/str\u663e\u793a\u54ea\u4e2a\u7ec4\u4ef6\u540d\u5c31\u663e\u793a\u90a3\u4e2a\u7ec4\u4ef6\r\n&lt;\/div&gt;\r\n\r\n\r\n\r\nvar vm=new Vue({\r\n  el:'#app',\r\n  data:{\r\n     str:'comA'\r\n  },\r\n  methods:{\r\n      fn:function(value){\r\n          this.str=value;\r\n      }\r\n  },\r\n  components:{\r\n     'comA':{\r\n          template:'&lt;a&gt;1&lt;\/a&gt;'\r\n     },\r\n     'comB':{\r\n          template:'&lt;a&gt;2&lt;\/a&gt;'\r\n     }\r\n  }\r\n});<\/pre>\n<div><span style=\"color: #ff0000;\">\u7f13\u5b58<\/span><\/div>\n<div><a href=\"https:\/\/sdeno.com\/?p=8348\" target=\"_blank\" rel=\"noopener\">\u300avue\u4e2dkeepAlive\u4f7f\u7528\u300b<\/a><\/div>\n<div><\/div>\n<div>\u907f\u514d\u7ec4\u4ef6\u5207\u6362\u56de\u6765\u53c8\u91cd\u65b0\u6e32\u67d3\uff0c\u53ef\u4ee5\u4f7f\u7528keep-alive\u5728\u5916\u5305\u4e00\u5c42\uff0c\u66f4\u591a\u529f\u80fd<a href=\"http:\/\/cn.vuejs.org\/v2\/api\/#keep-alive\">http:\/\/cn.vuejs.org\/v2\/api\/#keep-alive<\/a><\/div>\n<pre>&lt;keep-alive&gt;\r\n\u00a0 \u00a0&lt;component :is=\"currentView\"&gt;\r\n\u00a0 \u00a0 \u00a0 &lt;!-- \u975e\u6d3b\u52a8\u7ec4\u4ef6\u5c06\u88ab\u7f13\u5b58\uff01 --&gt;\r\n\u00a0 \u00a0&lt;\/component&gt;\r\n&lt;\/keep-alive&gt;<\/pre>\n<p><span style=\"color: #ff0000;\">\u5f02\u6b65\u7ec4\u4ef6<\/span><\/p>\n<p>\u6709\u4e9b\u7ec4\u4ef6\u53ef\u80fd\u8981\u4ece\u522b\u7684\u5730\u65b9\u83b7\u53d6\u6570\u636e\u540e\u624d\u663e\u793a\u51fa\u6765\uff0c\u8fd9\u65f6\u5019\u80af\u5b9a\u8003\u8651\u5f02\u6b65<\/p>\n<pre>&lt;div id=\"app\"&gt;\r\n    &lt;com ref=\"haha\"&gt;&lt;\/com&gt;\r\n    &lt;button @click=\"fn\"&gt;\u70b9\u6211&lt;\/button&gt;\r\n    &lt;p&gt;{{str}}&lt;p&gt;\r\n&lt;\/div&gt;\r\nvar vm=new Vue({\r\n el:'#app',\r\n data:{\r\n   str:''\r\n },\r\n methods:{\r\n   fn:function(value){\r\n     this.str=this.$refs.haha.num;\r\n   }\r\n },\r\n components:{\r\n   'com':function (a,b) {\r\n\r\n        $.ajax({\r\n           url:'http:\/\/localhost\/test_duble_data.html',\r\n           success:function () {\r\n             a({\r\n                template:'&lt;div&gt;xx&lt;\/div&gt;',\r\n                data:function(){\r\n                   return {num:'\u5b50\u7ec4\u4ef6\u4f20\u6765\u7684\u6570\u636e'}\r\n                }\r\n             });\r\n           }\r\n        });\r\n\r\n    }\r\n }\r\n});<\/pre>\n<p><span style=\"color: #ff0000;\">\u5f3a\u5236\u66f4\u65b0\uff0c\u5b9e\u73b0\u6570\u636e\u53cc\u5411\u7ed1\u5b9a\u6548\u679c<\/span><\/p>\n<p>html\uff1a<\/p>\n<pre>&lt;div id=\"root\"&gt;\r\n  &lt;div&gt;{{text}}--{{obj.a}}&lt;\/div&gt; \/\/\u6b63\u5e38\u6765\u8bf4\u5982\u679c\u8981\u5728\u6a21\u677f\u4e2d\u4f7f\u7528obj.a\uff0c\u90a3\u4e48\u5728vue\u5b9e\u4f8b\u4e2d\u5c31\u8981\u9884\u5148\u58f0\u660eobj\u4e2d\u7684a\u53d8\u91cf\u5373\u4f7f\u662f\u7a7a\u503c\u4e5f\u597d\u3002\r\n&lt;\/div&gt;<\/pre>\n<pre>var app=new Vue({\r\n  el:'#root',\r\n  \/\/ template:'&lt;div&gt;{{text}}--{{obj.a}}&lt;\/div&gt;',\r\n  data:{\r\n    text:0,\r\n    obj:{} \/\/\u4f46\u662f\u5728obj\u4e2d\u5e76\u6ca1\u6709\u9884\u5148\u58f0\u660ea\u53d8\u91cf\uff0c\u5c31\u7b97\u5728\u540e\u9762\u4e34\u65f6\u8d4b\u503cobj.a=xxx,\u5728\u6a21\u677f\u4e2d\u8c03\u7528\u4e5f\u4e0d\u4f1a\u6709\u503c\u663e\u793a\u3002\r\n  }\r\n });\r\n\r\n var i=0;\r\n setInterval(()=&gt;{\r\n   i++;\r\n   app.obj.a=i; \/\/\u4e34\u65f6\u7ed9a\u8d4b\u503c\r\n   app.<span style=\"color: #ff0000;\">$forceUpdate()<\/span>; \/\/\u5982\u679c\u8981\u4e3a\u4e34\u65f6\u8bbe\u7f6e\u7684\u4e5f\u5b9e\u73b0\u53cc\u5411\u7ed1\u5b9a\u5c31\u8981\u5f3a\u5236\u66f4\u65b0\u7ec4\u4ef6\u3002\uff08\u4e0d\u592a\u63a8\u8350\uff09\r\n   \/\/\u5982\u679c\u6ca1\u6709\u4e34\u65f6\u9884\u8bbe\u5c5e\u6027\uff0c\u53c8\u4e0d\u60f3\u4f7f\u7528\u5f3a\u5236\u66f4\u65b0\uff0c\u53ef\u4ee5\u4f7f\u7528app.$set(app.obj,'a',i)\uff0c\u4f5c\u7528\u662f\u4e34\u65f6\u8865\u4e0aa\u5c5e\u6027\u5230data\u4e2d\r\n },1000)<\/pre>\n<p><span style=\"color: #ff0000;\">DOM\u56de\u8c03\u51fd\u6570<\/span><\/p>\n<p>\u6309\u7406\u6765\u8bf4\u6211\u4eec\u4f7f\u7528vue\u662f\u4e0d\u9700\u8981\u64cd\u4f5cdom\u7684\uff0c\u4f46\u662f\u504f\u504f\u53ef\u80fd\u6211\u4eec\u5728\u505a\u4e00\u4e9b\u52a8\u753b\u6548\u679c\u65f6\uff0c\u5c31\u662f\u8981\u9700\u8981\u7b49dom\u52a0\u8f7d\u5b8c\u6210\u540e\u624d\u53bb\u6267\u884c<\/p>\n<pre>&lt;div id=\"app\"&gt;\r\n   &lt;div id=\"haha\" v-if=\"num\"&gt;\u6570\u636e&lt;\/div&gt;\r\n   &lt;button @click=\"fn\"&gt;\u70b9\u6211&lt;\/button&gt;\r\n&lt;\/div&gt;\r\n\r\nvar vm=new Vue({\r\n  el:'#app',\r\n  data:{\r\n     num:false\r\n  },\r\n  methods:{\r\n     fn:function(){\r\n          this.num=true;\r\n          this.$nextTick(function(){ \/\/\u7b49\u5f85#app\u5bb9\u5668\u4e0b\u7684dom\u52a0\u8f7d\u5b8c\u6210\u540e\u624d\u6267\u884c\u4ee5\u4e0b\u4ee3\u7801\r\n              \r\n              $('#haha').text();\r\n          });\r\n     }\r\n  }\r\n});\r\n\r\n\r\n<\/pre>\n<p><span style=\"color: #ff0000;\">slot\u5185\u5bb9\u5206\u53d1\u00a0 (\u63d2\u69fd)<\/span><\/p>\n<p>\u628a\u8fd9\u4e2a\u7406\u89e3\u4e3a\u7236\u7ec4\u4ef6\u5f80\u5b50\u7ec4\u4ef6\u4f20\u503c\u7684\u53e6\u4e00\u79cd\u65b9\u6cd5\u5c31\u884c\u3002<\/p>\n<p>\u6216\u8005\u7406\u89e3\u4e3a\uff0c\u5728\u7236\u7ec4\u4ef6\u91cc\u9762\u5199\u7684html\u60f3\u8981\u5728\u5b50\u7ec4\u4ef6\u6e32\u67d3\u51fa\u6765\u5c31\u9700\u8981\u5230slot<\/p>\n<pre>\/\/\u5728\u7236\u7ec4\u4ef6\u7684&lt;my-component&gt;&lt;\/my-component&gt;\u6807\u7b7e\u91cc\u9762\u52a0\u5185\u5bb9\r\n&lt;div id=\"app\"&gt;\r\n  &lt;my-component&gt; \/\/\u8fd9\u4e2a\u662f\u7236\u7ec4\u4ef6\uff0c\u4ee5\u4e0b\u5185\u5305\u88f9\u7684\u5c31\u662f\u8981\u4f20\u7ed9\u5b50\u7ec4\u4ef6\u7684\u5185\u5bb9\r\n    &lt;p slot=\"header\"&gt;\u5934\u90e81&lt;\/p&gt;\r\n    &lt;p slot=\"header\"&gt;\u5934\u90e82&lt;\/p&gt;\r\n    &lt;p&gt;\u4e3b\u4f53\u5185\u5bb91&lt;\/p&gt;\r\n    &lt;p&gt;\u4e3b\u4f53\u5185\u5bb92&lt;\/p&gt;\r\n    &lt;p slot=\"foot\"&gt;\u5e95\u90e81&lt;\/p&gt;\r\n  &lt;\/my-component&gt;\r\n&lt;\/div&gt;\r\n\r\n \u00a0\r\n\r\n&lt;script&gt;\r\n\/\/\u8981\u663e\u793a\u51fa\u7236\u7ec4\u4ef6\u52a0\u7684\u5185\u5bb9\u5c31\u9700\u8981\u5230slot\u6807\u7b7e\r\nVue.component('my-component',{\r\n  template:'&lt;div&gt; ' +\r\n            '&lt;slot name=\"header\"&gt;&lt;\/slot&gt; ' +\r\n            '&lt;slot&gt;&lt;\/slot&gt; ' +\r\n            '&lt;slot name=\"foot\"&gt;&lt;\/slot&gt; ' +\r\n            '&lt;slot name=\"foot2\"&gt;\u7236\u7ec4\u4ef6\u6ca1\u4f20\u503c\u5c31\u9ed8\u8ba4\u663e\u793a\u6211&lt;\/slot&gt; ' +\r\n           '&lt;\/div&gt;'\r\n  });\r\n\r\n\r\n\r\n new Vue({\r\n  el:'#app'\r\n });\r\n\r\n&lt;\/script&gt;\r\n\r\n\r\n\r\n\/\/\u6e32\u67d3\u6548\u679c\r\n&lt;div id=\"app\"&gt;\r\n  &lt;div&gt;\r\n    &lt;p&gt;\u5934\u90e81&lt;\/p&gt;\r\n    &lt;p&gt;\u5934\u90e82&lt;\/p&gt; \r\n    &lt;p&gt;\u4e3b\u4f53\u5185\u5bb91&lt;\/p&gt; \r\n    &lt;p&gt;\u4e3b\u4f53\u5185\u5bb92&lt;\/p&gt; \r\n    &lt;p&gt;\u5e95\u90e81&lt;\/p&gt; \r\n    \u7236\u7ec4\u4ef6\u6ca1\u4f20\u503c\u5c31\u9ed8\u8ba4\u663e\u793a\u6211\r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n\r\n<\/pre>\n<p>1\uff0c\u7236\u7ec4\u4ef6my-component\u5305\u88f9\u7740\u5185\u5bb9\u5c31\u662f\u8981\u4f20\u7ed9\u5b50\u7ec4\u4ef6\u7684<br \/>\n2\uff0c\u5b50\u7ec4\u4ef6\u8981\u63a5\u6536\u7236\u7ec4\u4ef6\u4f20\u6765\u7684\u503c\u5c31\u8981\u4f7f\u7528&lt;slot&gt;&lt;\/slot&gt;<br \/>\n3, \u5b50\u7ec4\u4ef6\u7684&lt;slot name=&#8221;xx&#8221;&gt;\u4f7f\u7528name\u5c31\u53ea\u80fd\u6307\u5b9a\u63a5\u6536\u7236\u7ec4\u4ef6\u7684&lt;dom slot=&#8221;xx&#8221;&gt;&lt;\/dom&gt;<br \/>\n\u7236\u7ec4\u4ef6\u53ef\u4ee5\u4f7f\u7528\u591a\u6b21&lt;dom slot=&#8221;xx&#8221;&gt;&lt;\/dom&gt;\uff0c\u5b50\u7ec4\u4ef6\u4e5f\u53ef\u4ee5\u63a5\u6536\u591a\u4e2a,\u53ea\u8981\u4e00\u4e00\u5bf9\u5e94<br \/>\n4\uff0c\u5982\u679c\u5b50\u7ec4\u4ef6\u6709&lt;slot name=&#8221;xx&#8221;&gt;\u8bbe\u7f6e\u9ed8\u8ba4\u503c&lt;\/slot&gt;,\u800c\u7236\u7ec4\u4ef6\u6ca1\u6709\u4f20\u503c\u6765,\u5b50\u7ec4\u4ef6\u53ef\u4ee5\u663e\u793a\u9ed8\u8ba4\u503c<br \/>\n5\uff0c\u53ea\u8981\u5b50\u7ec4\u4ef6\u6ca1\u6709\u4e3aslot\u8bbe\u7f6ename\u7684\uff0c\u7236\u7ec4\u4ef6\u7684\u5176\u4ed6\u5185\u5bb9\u5c31\u9ed8\u8ba4\u66ff\u6362<\/p>\n<p><span style=\"color: #ff0000;\">slot\u4f20\u53c2 \uff08\u4f5c\u7528\u57df\u63d2\u69fd\uff09<\/span><\/p>\n<p>slot\u7ed3\u5408template\u4f7f\u7528\uff0c\u5b50\u7ec4\u4ef6\u4f20\u53c2\u7ed9\u7236\u7ec4\u4ef6\uff0c\u5728\u5b50\u7ec4\u4ef6\u7684slot\u6807\u7b7e\u4e0a\u81ea\u5b9a\u4e49\u53c2\u6570\uff0c\u7236\u7ec4\u4ef6\u63a5\u6536\u53c2\u6570\u65f6\u4f7f\u7528scope=&#8221;&#8221;<\/p>\n<pre>&lt;my-component&gt;\r\n  &lt;template slot=\"xx\" scope=\"xxx\"&gt;\r\n     &lt;p&gt;123&lt;\/p&gt;\r\n     &lt;p&gt;{{xxx.msg0}}&lt;\/p&gt;\r\n     &lt;p&gt;{{xxx.msg1}}&lt;\/p&gt;\r\n  &lt;\/template&gt;\r\n&lt;\/my-component&gt;\r\n\r\n\r\n\r\n&lt;script&gt;\r\n\r\nVue.component('my-component',{\r\n  template:'&lt;div&gt; &lt;slot name=\"xx\" :msg1=\"str\" msg0=\"\u5185\u5bb9123\"&gt;&lt;\/slot&gt; &lt;\/div&gt;',\r\n  data:function () {\r\n    return {str:'\u5b50\u7ec4\u4ef6\u5185\u5bb9'}\r\n  }\r\n});\r\n\r\n\r\nnew Vue({\r\n el:'#app'\r\n});\r\n\r\n&lt;\/script&gt;<\/pre>\n<pre>\/\/\u6e32\u67d3\u6548\u679c\r\n&lt;div id=\"app\"&gt;\r\n  &lt;div&gt;\r\n     &lt;p&gt;123&lt;\/p&gt; \r\n     &lt;p&gt;\u5185\u5bb9123&lt;\/p&gt; \r\n     &lt;p&gt;\u5b50\u7ec4\u4ef6\u5185\u5bb9&lt;\/p&gt;\r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>\u5982\u679cslot\u6ca1\u6709\u7ed3\u5408\u4f7f\u7528&lt;template&gt;\u65f6\uff0c\u5b50\u7ec4\u4ef6\u4f20\u53c2\u7ed9\u7236\u7ec4\u4ef6\u65f6\uff0c\u7236\u7ec4\u4ef6\u63a5\u6536\u53c2\u6570\u8981\u4f7f\u7528slot-scope=&#8221;&#8221;<\/p>\n<pre>\/\/\u5b50\u7ec4\u4ef6\r\ntemplate:`\r\n&lt;div&gt; &lt;slot baba=\"baba22\"&gt;&lt;\/slot&gt; &lt;\/div&gt;\r\n`\r\n\r\n\/\/\u7236\u7ec4\u4ef6\r\ntemplate:'&lt;com&gt; &lt;p slot-scope=\"diy\"&gt;{{diy.baba}}&lt;\/p&gt;  &lt;\/com&gt;',  \/\/\u7236\u7ec4\u4ef6\u63a5\u6536\u53c2\u6570\u8981\u7528slot-scope<\/pre>\n<p>$slots<\/p>\n<p>\u53ef\u4ee5\u5229\u7528$slots\u6765\u83b7\u53d6\u5230\u7236\u7ec4\u4ef6\u4f20\u6765\u7684slot\u5177\u540d\uff0c\u4f8b\u5982\u53ef\u4ee5\u83b7\u53d6\u5230\u7236\u7ec4\u4ef6\u4f20\u6765\u7684dom\u5143\u7d20<\/p>\n<pre>&lt;my-component&gt;\r\n  &lt;p id=\"nimei\" slot=\"xx\"&gt;xxx&lt;\/p&gt;\r\n&lt;\/my-component&gt;\r\n\r\nVue.component('my-component',{\r\n  template:'&lt;div&gt; &lt;slot name=\"xx\" :msg1=\"str\" msg0=\"\u5185\u5bb9123\"&gt;&lt;\/slot&gt; &lt;\/div&gt;',\r\n  data:function () {\r\n     return {str:'\u5b50\u7ec4\u4ef6\u5185\u5bb9'}\r\n  },\r\n  mounted:function () {\r\n    document.title=(this.$slots.xx)[0].elm.id  \/\/\u83b7\u53d6\u5230\u7236\u4f20\u6765\u7684slot=\"xx\"\u7684dom\u5143\u7d20\uff0c\u4e5f\u5c31\u662fid=\"nimei\"\u7684p\u5143\u7d20\r\n  }\r\n});<\/pre>\n<p><span style=\"color: #ff0000;\">\u5185\u8054\u6a21\u677f<\/span><\/p>\n<p>\u4e4b\u524d\u4ecb\u7ecdslot\uff0c\u5728\u7236\u7ec4\u4ef6\u5305\u88f9\u91cc\u9762\u5199\u6570\u636e\u5c31\u9ed8\u8ba4\u76f8\u5f53\u4e8e\u53c2\u6570\u8981\u4f20\u7ed9\u5b50\u7ec4\u4ef6\uff0c<br \/>\n\u6211\u4eec\u4e5f\u53ef\u4ee5\u4e0d\u5728\u5b50\u7ec4\u4ef6\u91cc\u7684template\u91cc\u9762\u5199div\uff0c\u53ef\u4ee5\u76f4\u63a5\u628a\u7236\u7ec4\u4ef6\u91cc\u9762\u7684<br \/>\n\u6570\u636e\u5f53\u505a\u6a21\u677f\u3002<\/p>\n<pre>&lt;div id=\"app\"&gt;\r\n &lt;my-component inline-template&gt; \/\/inline-template\u544a\u8bc9\u7236\u7ec4\u4ef6\uff0c\u91cc\u9762\u5185\u5bb9\u662f\u5f53\u6210\u6a21\u677f\u4f7f\u7528\uff0c\u800c\u4e0d\u662f\u5f53\u6210slot\u5185\u5bb9\u5206\u53d1\u7ed9\u5b50\u7ec4\u4ef6\r\n   &lt;div&gt; \/\/\u8ddf\u5b50\u7ec4\u4ef6\u7684template\u4e00\u6837\u5199\u6a21\u7248\u6700\u5916\u5c42\u540c\u6837\u4e5f\u8981\u5305\u88f9\u7740\u4e00\u4e2adiv\u5bb9\u5668\u4e0d\u7136\u6ca1\u6548\u679c\r\n     &lt;p&gt;\u7236\u7ec4\u4ef6\u91cc\u9762\u7684\u5185\u5bb9\u5c31\u76f8\u5f53\u4e8e\u6a21\u677f\u4e86&lt;\/p&gt;\r\n     &lt;p&gt;{{msg}}&lt;\/p&gt;\r\n     &lt;p&gt;{{message}}&lt;\/p&gt;\r\n     &lt;p&gt;{{aa}}&lt;\/p&gt; \/\/\u8fd9\u91cc\u4f18\u5148\u4f7f\u7528\u5b50\u7ec4\u4ef6\u7684\u6570\u636e\r\n   &lt;\/div&gt;\r\n &lt;\/my-component&gt;\r\n&lt;\/div&gt;\r\n\r\n\r\n&lt;script&gt;\r\n\r\nVue.component('my-component',{\r\n data:function () {\r\n   return {msg:'\u5b50\u7ec4\u4ef6',aa:'\u5b50\u7ec4\u4ef6\u7684aa'}\r\n }\r\n});\r\n\r\nnew Vue({\r\n  el:'#app',\r\n  data:{\r\n    message:'\u7236\u7ec4\u4ef6',\r\n    aa:'\u7236\u7ec4\u4ef6\u7684aa'\r\n  }\r\n});\r\n\r\n&lt;\/script&gt;<\/pre>\n<p><span style=\"color: #ff0000;\">\u52a8\u6001\u751f\u6210vue\u5b9e\u4f8b<\/span><br \/>\nvue\u5b9e\u4f8b\u90fd\u662f\u6211\u4eec\u6700\u5f00\u59cb\u4f7f\u7528new Vue()\u6765\u5b9e\u73b0\u4e86\uff0c\u4f46\u6709\u65f6\u5019\u6211\u4eec\u4e5f\u9700\u8981\u52a8\u6001\u662f\u751f\u6210\u3002<\/p>\n<pre>&lt;div id=\"app\"&gt;\r\n  &lt;button @click=\"fn()\"&gt;\u52a8\u6001\u6302\u8f7dvue\u5bf9\u8c61&lt;\/button&gt;\r\n\r\n  &lt;div id=\"app2\"&gt;\r\n\r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n\r\n\r\n\r\n&lt;script&gt;\r\n\r\nvar myvue=Vue.extend({\r\n  template:'&lt;div&gt;&lt;input type=\"text\" v-model=\"haha\"&gt;&lt;p&gt;{{haha}}&lt;\/p&gt;&lt;\/div&gt;',\r\n  data:function () {\r\n      return {haha:''}\r\n  }\r\n})\r\n\r\n\r\nnew Vue({\r\n el:'#app',\r\n data:{\r\n message:'\u7236\u7ec4\u4ef6',\r\n    aa:'\u7236\u7ec4\u4ef6\u7684aa'\r\n },\r\n methods:{\r\n   fn:function () {\r\n     new myvue().$mount('#app2');\r\n   }\r\n }\r\n});\r\n&lt;\/script&gt;<\/pre>\n<p><span style=\"color: #ff0000;\">\u81ea\u5b9a\u4e49\u6307\u4ee4<\/span><\/p>\n<pre>&lt;div id=\"app\"&gt;\r\n &lt;input type=\"text\" v-focus=\"{haha:'\u7b11\u54c8\u54c8'}\"&gt;\r\n&lt;\/div&gt;\r\n\r\n&lt;script&gt;\r\n    \/\/\u4ee5\u4e0b\u662f\u5168\u5c40\r\n    Vue.directive('focus',{\r\n        bind:{},\r\n    });\r\n\r\n\r\n    \/\/\u4ee5\u4e0b\u662f\u5c40\u90e8 \u81ea\u5b9a\u4e49\u6307\u4ee4\r\n    new Vue({\r\n        el:'#app',\r\n        directives:{\r\n            focus:{\r\n                bind:function (el,binding) {  \/\/\u4ec5\u4ec5\u6267\u884c\u4e00\u6b21\uff0c\u4f5c\u7528\u5c31\u662f\u4e3a\u7ed1\u5b9a\u7684\u5143\u7d20\uff0c\u6dfb\u52a0\u521d\u59cb\u5316\u503c\u3002\r\n                    el.value=1\r\n                    el.className='nihao';\r\n                    el.addEventListener('click',function () {\r\n                        console.log('\u7ed1\u5b9a');\r\n                    });\r\n                    console.log(el);  \/\/\u7b11\u54c8\u54c8\r\n                    el.xx=123;  \/\/\u8981\u60f3\u5176\u4ed6\u94a9\u5b50\u51fd\u6570\u90fd\u80fd\u8c03\u7528\u5230\uff0c\u5c31\u628a\u8981\u516c\u7528\u7684\u5c5e\u6027\u548c\u65b9\u6cd5\u90fd\u5199\u5728el\u4e2d\r\n                },\r\n                inserted:function (el,binding) {  \/\/dom\u52a0\u8f7d\u5b8c\u6210\u540e\uff0c\u5c31\u8c03\u7528\r\n                    el.focus();\r\n                    console.log(el.xx);  \/\/123\r\n                },\r\n                update:function (el,binding,vnode,oldVnode) {\r\n\r\n                },\r\n                componentUpdated:function (el,binding,vnode,oldVnode) {\r\n\r\n                },\r\n                unbind:function (el,binding) {\r\n\r\n                }\r\n            }\r\n        }\r\n    });\r\n\r\n&lt;\/script&gt;<\/pre>\n<p><span style=\"color: #ff0000;\">render\u51fd\u6570\u00a0 \u00a0\u865a\u62dfdom\u00a0 \u00a0vue\u521b\u5efahtml<\/span><\/p>\n<pre>template:'&lt;div ref=\"x\"&gt;&lt;\/div&gt;' \/\/template\u91cc\u9762\u7684html\uff0c\u6700\u7ec8\u8fd8\u662f\u9760render\u51fd\u6570\u663e\u793a\u5230\u9875\u9762\u4e0a\u7684\r\n\u7b49\u4ef7\r\nrender(createElement){\r\n        return createElement('div',{\r\n            ref:'x'\r\n        });\r\n},<\/pre>\n<p>\u5177\u4f53\u66f4\u591a\u7528\u6cd5\u53c2\u8003\uff1a<a href=\"https:\/\/cn.vuejs.org\/v2\/guide\/render-function.html\" target=\"_blank\" rel=\"noopener\">https:\/\/cn.vuejs.org\/v2\/guide\/render-function.html<\/a><\/p>\n<p><span style=\"color: #ff0000;\">**\u6ce8\u610f<\/span>\uff1a\u80fd\u7528template\u521b\u5efahtml\u5c31\u5c3d\u91cf\u7528\uff0c\u5426\u5219\u4f7f\u7528render\u521b\u5efahtml\u4f1a\u589e\u52a0\u96be\u5ea6\u3002<\/p>\n<p>\u4f7f\u7528\u573a\u666f\u662f\uff1a\u5f53\u6a21\u677f\u51fa\u73b0\u91cd\u590d\u6027\u6bd4\u8f83\u9ad8\u65f6\u53ef\u4ee5\u8003\u8651\u4f7f\u7528\uff0c\u4f8b\u5982\uff1a<\/p>\n<pre>&lt;script type=\"text\/x-template\" id=\"xx\"&gt; \r\n  &lt;div&gt; \u00a0 \u00a0 \u00a0\r\n    &lt;h1 v-if=\"show\"&gt; \u00a0 \u00a0 \u00a0 \r\n      &lt;a&gt;&lt;\/a&gt; \u00a0 \u00a0 \u00a0\r\n    &lt;\/h1&gt;\r\n\r\n\u00a0   &lt;h2 v-if=\"show\"&gt; \u00a0 \u00a0 \u00a0 \r\n      &lt;a&gt;&lt;\/a&gt; \u00a0 \u00a0 \u00a0\r\n    &lt;\/h2&gt;\r\n\r\n\u00a0 \u00a0 \u00a0&lt;h3 v-if=\"show\"&gt; \u00a0 \u00a0 \u00a0 \r\n      &lt;a&gt;&lt;\/a&gt; \u00a0 \u00a0 \u00a0\r\n     &lt;\/h3&gt;\r\n\r\n\u00a0 \u00a0 \u00a0&lt;h4 v-if=\"show\"&gt; \u00a0 \u00a0 \u00a0 \r\n      &lt;a&gt;&lt;\/a&gt; \u00a0 \u00a0 \u00a0\r\n     &lt;\/h4&gt; \r\n  &lt;\/div&gt;\r\n&lt;\/script&gt;<\/pre>\n<p>\u5982\u679c\u51fa\u73b0\u7c7b\u4f3c\u4ee5\u4e0a\u7684\u91cd\u590d\u6027\u51fa\u73b0\u7684dom\u5c31\u8003\u8651\u4f7f\u7528\u865a\u62dfdom\u8fdb\u884c\u904d\u5386\u4e86\u3002<\/p>\n<p>\u5bf9\u6bd4\u5b66\u4e60\u6548\u7387\u4f1a\u6bd4\u8f83\u9ad8<\/p>\n<pre>template:'\\\r\n         &lt;div id=\"ele\"&gt; \\\r\n           :class=\"show:show\" \\\r\n           @click=\"fn\"&gt;\u5185\u5bb9&lt;\/div&gt;'\r\n\r\n\u6bd4\u8f83\r\n\r\nrender:function(createElement){\r\n   return createElement(\r\n             'div',\r\n             {\r\n               class:{'show':this.show}\r\n               attrs:{id:'ele'},\r\n               on:{click:this.fn}\r\n             },\r\n             '\u5185\u5bb9'\r\n          )\r\n   }<\/pre>\n<p>\u53ef\u8bfb\u6027\u660e\u663etemplate\u6bd4render\u597d\uff0c\u6240\u4ee5\u8981\u770b\u60c5\u51b5\u4f7f\u7528\u865a\u62dfdom\u4e0d\u7136\u4f1a\u5e26\u6765\u4e0d\u4fbf\u3002<\/p>\n<p>\u4e0a\u9762\u7684\u6848\u4f8b\u90fd\u77e5\u9053\u4f20\u8fdb\u6765\u7684createElement\u53c2\u6570\u624d\u662f\u6700\u5173\u952e\u7684\uff0c\u800c\u8fd9\u4e2a\u53c2\u6570\u662f\u4e00\u4e2a\u51fd\u6570\uff0c<br \/>\n\u51fd\u6570\u91cc\u9762\u53c8\u67093\u4e2a\u53c2\u6570<\/p>\n<pre>createElement(\r\n  {string|object|function}, \/\/\u5fc5\u9009 (\u6839\u636e\u903b\u8f91\u5224\u65ad\u751f\u6210\u4e0d\u540c\u7684dom\u5143\u7d20\u6807\u7b7e)\r\n  {object}, \/\/\u53ef\u9009 (\u6570\u636e\u586b\u5145\uff0c\u7b2c\u4e8c\u4e2a\u53c2\u6570\u73a9\u6cd5\u5f88\u591a)\r\n  {string|array} \/\/\u53ef\u9009 (\u5b50\u8282\u70b9)\r\n)<\/pre>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" src=\"http:\/\/dict.youdao.com\/dictvoice?audio=a&amp;type=1\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u76ee\u524d\u5728vue 2.5.9\u6d4b\u8bd5\u5b66\u4e60 \u987a\u4fbf\u63a8\u8350\u8c03\u8bd5\u5de5\u5177\uff1avue-devtools\uff0c\u76f4\u63a5\u53bbchrome\u5546\u57ce\u5b89\u88c5\u5373\u53ef\u3002 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-6302","post","type-post","status-publish","format-standard","hentry","category-11"],"_links":{"self":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts\/6302","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6302"}],"version-history":[{"count":0,"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts\/6302\/revisions"}],"wp:attachment":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6302"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6302"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}