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)
    }
  }
})