मैं वूज के लिए नया हूं। कुछ बनाया, लेकिन मुझे नहीं पता कि यह सरल/सही तरीका है।Vuejs और Vue.set(), अद्यतन सरणी
जो मैं चाहता
मैं एक सरणी में कुछ दिनांकों चाहते हैं और एक घटना पर उन्हें अपडेट करें। सबसे पहले मैंने Vue.set की कोशिश की, लेकिन यह काम नहीं कर सका। अब मेरी सरणी आइटम बदलने के बाद:
this.items[index] = val;
this.items.push();
मैं धक्का() सरणी के लिए कुछ नहीं है और यह अद्यतन करेगा .. लेकिन कभी कभी अंतिम आइटम को छिपा दिया जाएगा, किसी भी तरह ... मुझे लगता है कि इस समाधान एक सा hacky है, मैं इसे स्थिर कैसे बना सकता हूं?
सरल कोड यहाँ है:
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() या $ सेट का उपयोग कर थोड़ा उलझन में था। लेकिन इस दस्तावेज धन्यवाद धन्यवाद होगा। –
डॉक्स में कहा गया है, $ सेट सिर्फ एक सुंदर है .plice()। यह समझ में आता है क्योंकि वे दस्तावेज़ों में कहते हैं कि आपको इसकी विधियों का उपयोग करके सरणी को संशोधित करना चाहिए। – Borjante
Pls स्पेस इंडेंट्स के साथ टैब इंडेंट्स को गठबंधन नहीं करते हैं, टैब का आकार एसई ऐप पर स्पष्ट रूप से अलग होता है, जिससे आपके कोड – Ferrybig