当然在创作之前你的先创建一个vue的项目,这基础的东西就自己去搞吧
<template>
<div id="app">
<div class="container">
<!-- 顶部框模块 -->
<div class="form-group">
<div class="input-group">
<h4>品牌管理</h4>
</div>
</div>
<!-- 数据表格 -->
<table class="table table-bordered table-hover mt-2">
<thead>
<tr>
<th>编号</th>
<th>资产名称</th>
<th>价格</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,i) in list">
<td>{{ item.id }}</td>
<td>{{ item.name }}</td>
<!-- 如果价格超过100,就有red这个类 -->
<td :class="{ red: item.price > 100 }">{{ item.price }}</td>
<td>{{ item.time|formatDate}}</td>
<td><a href="#" @click.prevent="clear(i)">删除</a></td>
</tr>
</tbody>
<tfoot >
<tr v-if="list.length == 0">
<td colspan="5" style="text-align: center" >暂无数据</td>
</tr>
<tr style="background-color: #EEE">
<td>统计:</td>
<td colspan="2">总价钱为: {{ allPrice }}</td>
<td colspan="2">平均价: {{ avgPrice }}</td>
</tr>
</tfoot>
</table>
<!-- 添加资产 -->
<form class="form-inline" @submit.prevent="">
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" placeholder="资产名称" v-model="name" />
</div>
</div>
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" placeholder="价格" v-model.number="price" />
</div>
</div>
<!-- 阻止表单提交 -->
<button class="btn btn-primary" @click="addFn">添加资产</button>
</form>
</div>
<hello></hello>
<number></number>
<addRes/>
<practise/>
<!-- <p>
<input type="text" v-model="fname">
{{ fname }}
</p> -->
</div>
</template>
<script>
import moment from "moment";
export default {
data() {
return {
name: "", // 名称
price: 0, // 价格
ids:0,
msg:"",
// list: ,
list:JSON.parse(localStorage.getItem("list")) || [
{ id: 100, name: "外套", price: 199, time: new Date('2010-08-12') },
{ id: 101, name: "裤子", price: 34, time: new Date('2013-09-01') },
{ id: 102, name: "鞋", price: 25.4, time: new Date('2018-11-22') },
{ id: 103, name: "头发", price: 19900, time: new Date('2020-12-12') }
]
};
},
methods: {
addFn(){
if(this.name.length == 0 || this.price.length == 0){
alert("请输入数据")
return ;
}
if(this.list.length){
this.ids = this.list[this.list.length - 1].id+1
}else{
this.ids = 1
}
let obj = {
id: this.ids,
name:this.name,
price: this.price,
time:new Date(),
};
this.list.push(obj);
},
clear(e){
this.list.splice(e,1)
}
},
filters: {
formatDate (val){
return moment(val).format('YYYY-MM-DD')
}
},
computed: {
allPrice(){
//总价
console.log(this);
return this.list.reduce((sum,obj)=> sum+obj.price,0)
},
avgPrice(){
if(this.list.length===0){
return 0;
}
return (this.list.reduce((sum,obj)=> sum+obj.price,0) / this.list.length).toFixed(2)
},
},
watch: {
list:{
handler(){
localStorage.setItem("list",JSON.stringify(this.list))
},
deep:true,
// immediate:true,
}
}
};
</script>
<style >
.red {
color: red;
font-weight: bold;
}
</style>