私はVuejsを初めて使いました。何かを作ったが、私はそれが単純な/正しい方法であるかどうかわからない。VuejsとVue.set()、更新配列
は私が
を望むものを、私は、配列内のいくつかの日付をしたいし、イベントにそれらを更新します。まずはVue.setを試しましたが、うまくいきません。今私の配列項目の変更後:
this.items[index] = val;
this.items.push();
を私は(プッシュ)配列には何も、それは...更新します。しかし、時には最後の項目が非表示になり、何とか...私は、このソリューションは少しハックだと思いますどうすれば安定させることができますか?
シンプルなコードはここにある:
new Vue({
el: '#app',
data: {
\t f: 'DD-MM-YYYY',
items: [
"10-03-2017",
"12-03-2017"
]
},
methods: {
cha: function(index, item, what, count) {
\t console.log(item + " index > " + index);
val = moment(this.items[index], this.f).add(count, what).format(this.f);
\t \t 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>
パーフェクト感謝をしたいと思うでしょう。私は3分で答えを受け入れることができます。 Vue.set()や$ setを使ってちょっと混乱しました。しかし、この文書をお読みいただきありがとうございます。 –
ドキュメントで言われたように、$ setはちょうど.splice()です。これは、彼らがドキュメントで言うように、配列のメソッドを使用して変更する必要があるため意味があります。 – Borjante
Plsはタブインデントとスペースインデントを組み合わせないので、SEアプリではタブのサイズが明らかに異なり、コードを読むことが難しくなります – Ferrybig