Ich bin neu bei Vuejs. Etwas gemacht, aber ich weiß nicht, dass es der einfache / richtige Weg ist.
was ich möchte
Ich möchte einige Daten in einem Array haben und sie bei einem Ereignis aktualisieren. Zuerst habe ich Vue.set ausprobiert, aber es klappt nicht. Jetzt nach dem Ändern meines Array-Elements:
this.items[index] = val;
this.items.push();
Ich drücke () nichts auf das Array und es wird aktualisiert. Aber manchmal wird das letzte Element irgendwie versteckt ... Ich denke, diese Lösung ist ein bisschen hackig, wie kann ich es stabil machen?
Einfacher Code ist hier:
new Vue({
el: '#app',
data: {
f: 'DD-MM-YYYY',
items: [
"10-03-2017",
"12-03-2017"
]
},
methods: {
cha: function(index, item, what, count) {
console.log(item + " index > " + index);
val = moment(this.items[index], this.f).add(count, what).format(this.f);
this.items[index] = val;
this.items.push();
console.log("arr length: " + this.items.length);
}
}
})
ul {
list-style-type: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.11/vue.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>
<div id="app">
<ul>
<li v-for="(index, item) in items">
<br><br>
<button v-on:click="cha(index, item, 'day', -1)">
- day</button>
{{ item }}
<button v-on:click="cha(index, item, 'day', 1)">
+ day</button>
<br><br>
</li>
</ul>
</div>