<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/vue.js"></script> <style> .center { height: 500px; width: 500px; position: absolute; top: 200px; left: 0; right: 0; margin: auto; } .goods-list { text-align: center; } #goodsModel,#editGoods{ position: relative; padding-top: 20px; left: 45%; top: 200px; height: 180px; width: 300px; background-color: #cccccc; text-align: center; border-radius: 5px; z-index: 100; } </style> </head> <body> <div id="top"> <!--新增商品--> <div v-show="is_show" id="goodsModel"> <p>商品名称:<input type="text" v-model="goods_list.name" placeholder="name"></p> <p>商品价格:<input type="text" v-model="goods_list.price" placeholder="price"></p> <p> <button @click="add">保存</button> <button @click="cancel">取消</button> </p> </div> <!--编辑商品信息--> <div v-show="is_edit" id="editGoods"> <p v-show="is_display">商品编号:<input type="text" v-model="goods_list.id"></p> <p>商品名称:<input type="text" v-model="goods_list.name"></p> <p>商品价格:<input type="text" v-model="goods_list.price"></p> <p v-show="is_display">商品下标:<input type="text" v-model="goods_list.index"></p> <p> <button @click="add_edit">保存</button> <button @click="cancel2">取消</button> </p> </div> <!--商品列表--> <div class="center"> <button class="myModel" @click="show">添加商品</button> <table border="1px" width="500px" id="good"> <tr> <th>ID</th> <th>Name</th> <th>Price</th> <th>Edit</th> </tr> <tr v-for="(goods,index) in goods_list" class="goods-list"> <td>{{goods.id}}</td> <td>{{goods.name}}</td> <td>{{goods.price}}</td> <td> <button @click="edit(goods,$event,index)">编辑</button> <button @click="del(index)">删除</button> </td> </tr> </table> </div> </div> <script> var good = new Vue({ el: "#top", data(){ return{ is_show: false, is_edit: false, is_display:false, goods_list: [ {id: 1, name: "python入门", price: 2011}, {id: 2, name: "python初级", price: 2012}, {id: 3, name: "python中级", price: 2013}, {id: 4, name: "python高级", price: 2014}, {id: 5, name: "python进阶", price: 2015}, {id: 6, name: "python精通", price: 2016}, ] } }, methods: { show() { this.is_show = true; }, cancel() { this.is_show = false; }, cancel2() { this.is_edit = false; }, del(index) { this.goods_list.splice(index, 1); }, add() { var goods = { id: this.goods_list.length+1, name: this.goods_list.name, price: this.goods_list.price, }; this.goods_list.push(goods); this.is_show = false; }, edit(goods,event,index){ this.is_edit = true; this.goods_list.id = goods.id; this.goods_list.name = goods.name; this.goods_list.price = goods.price; this.goods_list.index = index; }, add_edit(){ var dt = { id: this.goods_list.id, name: this.goods_list.name, price: this.goods_list.price, }; this.$set(this.goods_list,this.goods_list.index,dt); this.is_edit = false; } } }) </script> </body> </html>