{"id":2666,"date":"2017-06-13T10:54:59","date_gmt":"2017-06-13T02:54:59","guid":{"rendered":"http:\/\/www.qdabc.cn\/?p=2666"},"modified":"2017-06-13T10:54:59","modified_gmt":"2017-06-13T02:54:59","slug":"vue%e5%b0%8f%e7%bb%83%e4%b9%a0-%e8%b4%ad%e7%89%a9%e8%bd%a6","status":"publish","type":"post","link":"http:\/\/www.qdabc.cn\/?p=2666","title":{"rendered":"vue\u5c0f\u7ec3\u4e60\u2014\u8d2d\u7269\u8f66"},"content":{"rendered":"<p>\u5f53\u6ca1\u6709\u5546\u54c1\u9009\u4e2d\u65f6\u5219\u4e0d\u80fd\u63d0\u4ea4\u8868\u5355\uff0c\u652f\u6301\u5168\u9009\u5168\u4e0d\u9009<\/p>\n<pre>&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n\t&lt;head&gt;\r\n\t\t&lt;meta charset=\"UTF-8\"&gt;\r\n\t\t&lt;title&gt;&lt;\/title&gt;\r\n\t\t&lt;link rel=\"stylesheet\" href=\"https:\/\/cdn.bootcss.com\/bootstrap\/3.3.7\/css\/bootstrap.min.css\" \/&gt;\r\n\t\t&lt;style&gt;\r\n\t\t.table{\r\n\t\t\tmargin-top: 100px;\r\n\t\t}\r\n\t\t&lt;\/style&gt;\r\n\t&lt;\/head&gt;\r\n\t&lt;body&gt;\r\n\t\t&lt;div class=\"container hidden\" id=\"app\"&gt;\r\n\t\t\t&lt;table class=\"table table-striped table-bordered\"&gt;\r\n\t\t\t\t&lt;tr&gt;\r\n\t\t\t\t\t&lt;th&gt;#&lt;\/th&gt;\r\n\t\t\t\t\t&lt;th&gt;&lt;input type=\"checkbox\" v-model=\"checkedAll\" v-on:click=\"checkAll()\" \/&gt;\u5168\u9009&lt;\/th&gt;\r\n\t\t\t\t\t&lt;th&gt;\u5546\u54c1&lt;\/th&gt;\r\n\t\t\t\t\t&lt;th&gt;\u5355\u4ef7&lt;\/th&gt;\r\n\t\t\t\t\t&lt;th style=\"width: 120px;\"&gt;\u6570\u91cf&lt;\/th&gt;\r\n\t\t\t\t\t&lt;th&gt;\u5c0f\u8ba1&lt;\/th&gt;\r\n\t\t\t\t\t&lt;th&gt;\u64cd\u4f5c&lt;\/th&gt;\r\n\t\t\t\t&lt;\/tr&gt;\r\n\t\t\t\t&lt;tr v-for=\"(item,index) in goods\"&gt;\r\n\t\t\t\t\t&lt;td&gt;{{index}}&lt;\/td&gt;\r\n\t\t\t\t\t&lt;td&gt;&lt;input type=\"checkbox\" v-model=\"item.checked\" v-on:click=\"checkbox()\" \/&gt;&lt;\/td&gt;\r\n\t\t\t\t\t&lt;td&gt;{{item.name}}&lt;\/td&gt;\r\n\t\t\t\t\t&lt;td&gt;{{item.price}}&lt;\/td&gt;\r\n\t\t\t\t\t&lt;td&gt;\r\n\t\t\t\t\t\t&lt;div class=\"input-group\"&gt;\r\n\t\t\t\t\t\t\t&lt;span class=\"input-group-addon\" v-on:click=\"reduce(index)\"&gt;-&lt;\/span&gt;\r\n\t\t\t\t\t\t  \t&lt;input type=\"text\" class=\"form-control\" aria-label=\"Amount (to the nearest dollar)\" v-model=\"item.num\"&gt;\r\n\t\t\t\t\t\t  \t&lt;span class=\"input-group-addon\" v-on:click=\"add(index)\"&gt;+&lt;\/span&gt;\r\n\t\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;\/td&gt;\r\n\t\t\t\t\t&lt;td&gt;{{item.num*item.price}}&lt;\/td&gt;\r\n\t\t\t\t\t&lt;td&gt;&lt;button type=\"button\" class=\"btn btn-danger\" v-on:click=\"modal(index)\"&gt;\u5220\u9664&lt;\/button&gt;&lt;\/td&gt;\r\n\t\t\t\t&lt;\/tr&gt;\r\n\t\t\t\t&lt;tr&gt;\r\n\t\t\t\t\t&lt;td&gt;\u603b\u4ef7&lt;\/td&gt;\r\n\t\t\t\t\t&lt;td colspan=\"5\"&gt;{{totalPrice}}&lt;\/td&gt;\r\n\t\t\t\t\t&lt;td&gt;&lt;button type=\"button\" class=\"btn btn-danger\" v-on:click=\"modal(-2)\"&gt;\u6e05\u7a7a\u8d2d\u7269\u8f66&lt;\/button&gt;&lt;\/td&gt;\r\n\t\t\t\t&lt;\/tr&gt;\r\n\t\t\t&lt;\/table&gt;\r\n\t\t\t&lt;button type=\"button\" class=\"btn btn-danger\" v-bind:class=\"{disabled:!submit}\" v-on:click=\"onsubmit()\"&gt;\u63d0\u4ea4\u8ba2\u5355&lt;\/button&gt;\r\n\t\t\t&lt;!--\u5f39\u51fa\u6846--&gt;\r\n\t\t\t&lt;div class=\"modal fade\" id=\"mymodal\" tabindex=\"-1\" role=\"dialog\"&gt;\r\n\t\t\t\t&lt;div class=\"modal-dialog\" role=\"document\"&gt;\r\n\t\t\t\t\t&lt;div class=\"modal-content\"&gt;\r\n\t\t\t\t\t\t&lt;div class=\"modal-header\"&gt;\r\n\t\t\t\t\t\t\t&lt;button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"&gt;&lt;span aria-hidden=\"true\"&gt;&amp;times;&lt;\/span&gt;&lt;\/button&gt;\r\n\t\t\t\t\t\t\t&lt;h4 class=\"modal-title\"&gt;\u63d0\u793a&lt;\/h4&gt;\r\n\t\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t\t&lt;div class=\"modal-body\"&gt;\r\n\t\t\t\t\t\t\t&lt;p&gt;\u786e\u5b9a\u8981\u5220\u9664{{removegood}}\u5417\uff1f&lt;\/p&gt;\r\n\t\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t\t&lt;div class=\"modal-footer\"&gt;\r\n\t\t\t\t\t\t\t&lt;button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\"&gt;\u53d6\u6d88&lt;\/button&gt;\r\n\t\t\t\t\t\t\t&lt;button type=\"button\" class=\"btn btn-danger\" data-dismiss=\"modal\" v-on:click=\"remove(nowIndex)\"&gt;\u786e\u5b9a&lt;\/button&gt;\r\n\t\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t\t&lt;!-- \/.modal-content --&gt;\r\n\t\t\t\t&lt;\/div&gt;\r\n\t\t\t\t&lt;!-- \/.modal-dialog --&gt;\r\n\t\t\t&lt;\/div&gt;\r\n\t\t&lt;\/div&gt;\r\n\t\t&lt;script src=\"http:\/\/apps.bdimg.com\/libs\/jquery\/2.1.4\/jquery.min.js\"&gt;&lt;\/script&gt;\r\n\t\t&lt;script src=\"http:\/\/apps.bdimg.com\/libs\/bootstrap\/3.3.4\/js\/bootstrap.min.js\"&gt;&lt;\/script&gt;\r\n\t\t&lt;script src=\"https:\/\/unpkg.com\/vue\/dist\/vue.js\"&gt;&lt;\/script&gt;\r\n\t\t&lt;script&gt;\r\n\t\t\r\n\t\t\tvar app = new Vue({\r\n\t\t\t\tel:\"#app\",\r\n\t\t\t\tdata:{\r\n\t\t\t\t\ttotalPrice:0,\t\t\t\t\t\/\/\u603b\u91d1\u989d\r\n\t\t\t\t\tnowIndex:-10,\t\t\t\t\t\/\/\u63a7\u5236\u5f39\u7a97\r\n\t\t\t\t\tremovegood:'',\t\t\t\t\t\/\/\u8981\u5220\u9664\u7684\u7269\u54c1\r\n\t\t\t\t\tcheckedAll:false,\t\t\t\t\/\/\u5168\u9009\r\n\t\t\t\t\tsubmit:false,\t\t\t\t\t\/\/\u63d0\u4ea4\uff0ctrue\u4e3a\u53ef\u4ee5\u63d0\u4ea4\uff0cfalse\u4e3a\u4e0d\u80fd\u63d0\u4ea4\r\n\t\t\t\t\tgoods:[\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid:'001',\r\n\t\t\t\t\t\t\tchecked:false,\r\n\t\t\t\t\t\t\tname:\"javascript\",\r\n\t\t\t\t\t\t\tprice:120,\r\n\t\t\t\t\t\t\tnum:1\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid:'002',\r\n\t\t\t\t\t\t\tchecked:false,\r\n\t\t\t\t\t\t\tname:\"java\",\r\n\t\t\t\t\t\t\tprice:100,\r\n\t\t\t\t\t\t\tnum:1\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid:'003',\r\n\t\t\t\t\t\t\tchecked:false,\r\n\t\t\t\t\t\t\tname:\"php\",\r\n\t\t\t\t\t\t\tprice:110,\r\n\t\t\t\t\t\t\tnum:1\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t},\r\n\t\t\t\tmethods: {\r\n\t\t\t\t\tadd: function(index){\t\t\t\t\t\/\/\u6570\u91cf\u589e\u52a0\r\n\t\t\t\t\t\tthis.goods[index].num++;\r\n\t\t\t\t\t},\r\n\t\t\t\t\treduce: function(index){\t\t\t\t\/\/\u6570\u91cf\u51cf\u5c11\r\n\t\t\t\t\t\tvar vm = this;\r\n\t\t\t\t\t\tvm.goods[index].num--;\r\n\t\t\t\t\t\tif(vm.goods[index].num &lt; 1){\r\n\t\t\t\t\t\t\tvm.goods[index].num = 1;\r\n\t\t\t\t\t\t\tvm.modal(index);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmodal: function(index){\t\t\t\t\t\/\/\u5f39\u7a97\r\n\t\t\t\t\t\tvar vm = this;\r\n\t\t\t\t\t\tvm.nowIndex = index;\r\n\t\t\t\t\t\tif(index &gt;= 0){\r\n\t\t\t\t\t\t\tvm.removegood = vm.goods[index].name;\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tvm.removegood = \"\u8d2d\u7269\u8f66\u5168\u90e8\u5546\u54c1\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(\"#mymodal\").modal();\r\n\t\t\t\t\t},\r\n\t\t\t\t\tremove: function(n){\t\t\t\t\t\/\/\u5224\u65ad\u662f\u5220\u9664\u4e00\u4e2a\u5546\u54c1\u8fd8\u662f\u6e05\u7a7a\u8d2d\u7269\u8f66\r\n\t\t\t\t\t\tif(n == -2){\r\n\t\t\t\t\t\t\tthis.goods = [];\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.goods.splice(n,1);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcheckAll: function(){\t\t\t\t\t\/\/\u5168\u9009\r\n\t\t\t\t\t\tvar vm = this;\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tvm.goods.forEach(function(element) {\r\n\t\t\t\t\t\t\tif(vm.checkedAll){\r\n\t\t\t\t\t\t\t\telement.checked = true;\r\n\t\t\t\t\t\t\t\tvm.submit = true;\r\n\t\t\t\t\t\t\t} else{\r\n\t\t\t\t\t\t\t\telement.checked = false;\r\n\t\t\t\t\t\t\t\tvm.submit = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcheckbox: function () {\t\t\t\t\t\/\/\u9009\u4e2d\u67d0\u4e00\u4e2a\u5546\u54c1\uff0c\u5982\u679c\u5168\u90e8\u9009\u4e2d\u5219 checkedAll \u4e3atrue\uff0c\u5982\u679c\u4e00\u4e2a\u90fd\u6ca1\u9009\u4e2d\u5219\u4e0d\u80fd\u63d0\u4ea4\u8ba2\u5355\r\n\t\t\t\t\t\tvar vm = this;\r\n\t\t\t\t\t\tvar len = vm.goods.length;\r\n\t\t\t\t\t\tvar n = 0;\r\n\t\t\t\t\t\tfor (var i = 0; i &lt; len; i++) {\r\n\t\t\t\t\t\t\tif(vm.goods[i].checked){\r\n\t\t\t\t\t\t\t\tn++;\r\n\t\t\t\t\t\t\t\tif(n == len){\r\n\t\t\t\t\t\t\t\t\tvm.checkedAll = true;\r\n\t\t\t\t\t\t\t\t} else{\r\n\t\t\t\t\t\t\t\t\tvm.checkedAll = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (n &gt; 0) {\r\n\t\t\t\t\t\t\tvm.submit = true;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvm.submit = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonsubmit: function(){\t\t\t\t\t\/\/\u63d0\u4ea4\u8ba2\u5355\uff0c\u9700\u8981\u5224\u65ad\u662f\u5426\u6709\u9009\u4e2d\u7684\u5546\u54c1\r\n\t\t\t\t\t\tif(this.totalPrice == 0){\r\n\t\t\t\t\t\t\tconsole.log(\"\u8bf7\u9009\u62e9\u8981\u8d2d\u4e70\u7684\u5546\u54c1\")\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tconsole.log(JSON.stringify(this.goods))\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tcomputed: {\t\t\t\t\t\t\t\t\t\/\/\u8ba1\u7b97\u603b\u91d1\u989d\r\n\t\t\t\t\ttotalPrices: function(){\r\n\t\t\t\t\t\tvar total = 0;\r\n\t\t\t\t\t\tthis.goods.forEach(function(mes){\r\n\t\t\t\t\t\t\tif(mes.checked){\r\n\t\t\t\t\t\t\t\ttotal += mes.num*mes.price\r\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\tthis.totalPrice = total;\r\n\t\t\t\t\t\treturn this.totalPrice;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\twatch:{\t\t\t\t\t\t\t\t\t\t\/\/\u5b9e\u65f6\u89c2\u5bdf\u91d1\u989d\u662f\u5426\u6709\u53d8\u5316\r\n\t\t\t\t\ttotalPrices: function(newValue, oldValue){\r\n\t\t\t\t\t\treturn this.totalPrice = newValue;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tmounted: function(){\t\t\t\t\t\t\/\/\u4e3a\u4e86\u9632\u6b62\u95ea\u5c4f\uff0c\u6570\u636e\u6e32\u67d3\u540e\u518d\u663e\u793aDOM\r\n\t\t\t\t\t$(\"#app\").removeClass(\"hidden\");\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t&lt;\/script&gt;\r\n\t&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p class=\"post-copyright\">\u6b22\u8fce\u5206\u4eab\u672c\u6587\uff0c\u8f6c\u8f7d\u8bf7\u4fdd\u7559\u51fa\u5904\uff1a<a href=\"http:\/\/www.qdabc.cn\">\u524d\u7aefABC<\/a> &raquo; <a href=\"http:\/\/www.qdabc.cn\/?p=2666\">vue\u5c0f\u7ec3\u4e60\u2014\u8d2d\u7269\u8f66<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\u5f53\u6ca1\u6709\u5546\u54c1\u9009\u4e2d\u65f6\u5219\u4e0d\u80fd\u63d0\u4ea4\u8868\u5355\uff0c\u652f\u6301\u5168\u9009\u5168\u4e0d\u9009 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&#8221;UTF-8&#8243;&gt; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[186],"tags":[26,163],"_links":{"self":[{"href":"http:\/\/www.qdabc.cn\/index.php?rest_route=\/wp\/v2\/posts\/2666"}],"collection":[{"href":"http:\/\/www.qdabc.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.qdabc.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.qdabc.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.qdabc.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2666"}],"version-history":[{"count":1,"href":"http:\/\/www.qdabc.cn\/index.php?rest_route=\/wp\/v2\/posts\/2666\/revisions"}],"predecessor-version":[{"id":2667,"href":"http:\/\/www.qdabc.cn\/index.php?rest_route=\/wp\/v2\/posts\/2666\/revisions\/2667"}],"wp:attachment":[{"href":"http:\/\/www.qdabc.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.qdabc.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2666"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.qdabc.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}