Je suis nouveau dans Vuejs. J'ai fait quelque chose, mais je ne sais pas si c'est la bonne solution.
ce que je veux
Je veux mettre des dates dans un tableau et les mettre à jour lors d'un événement. J'ai d'abord essayé Vue.set, mais cela n'a pas fonctionné. Maintenant, après avoir changé l'élément de mon tableau :
this.items[index] = val;
this.items.push();
Je n'ajoute rien au tableau par push() et il se met à jour. Mais parfois le dernier élément est caché, d'une manière ou d'une autre... Je pense que cette solution est un peu bancale, comment la rendre stable ?
Le code simple est ici :
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>