Vue
by Alex Kyriakidis
HTML
<div id="app">
<h2>Money Spent</h2>
<p>
Budget {{budget}}
</p>
<input v-model.number="budget">
<hr> Spent Today:
<input v-model.number="todaySpent">
<button v-on:click="saveSpendings">Save</button>
<hr>
<p>
Daily Budget: {{posoEinai}}
</p>
<hr> {{ $data }}
</div>
CSS
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
li {
margin: 8px 0;
}
h2 {
font-weight: bold;
margin-bottom: 15px;
}
del {
color: rgba(0, 0, 0, 0.3);
}
Vue
// TODO 1: reset today spent on save
new Vue({
el: "#app",
data: {
budget: 1000,
todaySpent: 0,
moneySpents: []
},
computed: {
posoEinai () {
// budget - total expenses
// total expenses????
return (this.budget - this.moneySpents.reduce((a,b) => a + b, 0)) / 30
}
},
methods: {
saveSpendings () {
this.moneySpents.push(this.todaySpent)
}
}
})