Vue.js
सरणी परिवर्तन डिटेक्शन कैविट्स बदलते हैं
खोज…
परिचय
जब आप डेटा विकल्प में आरंभ किए गए किसी विशेष इंडेक्स पर किसी आइटम का मान सेट करने का प्रयास करते हैं, तो vue परिवर्तन का पता नहीं लगा सकता है और राज्य को अपडेट ट्रिगर नहीं करता है। इस चेतावनी को दूर करने के लिए आपको या तो Vue Vue का उपयोग करना चाहिए। $ set या Array.prototype.splice विधि का उपयोग करें
Vue का उपयोग करना। $ set
आपकी विधि या किसी भी जीवनचक्र हुक में, जो कि पार्टरुअर इंडेक्स में सरणी आइटम को बदलता है
new Vue({
el: '#app',
data:{
myArr : ['apple', 'orange', 'banana', 'grapes']
},
methods:{
changeArrayItem: function(){
//this will not work
//myArr[2] = 'strawberry';
//Vue.$set(array, index, newValue)
this.$set(this.myArr, 2, 'strawberry');
}
}
})
यहाँ फिडेल का लिंक दिया गया है
Array.prototype.splice का उपयोग करना
आप Arue प्रोटोटाइप के splice()
का उपयोग करके Vue.$set
बजाय समान परिवर्तन कर सकते हैं
new Vue({
el: '#app',
data:{
myArr : ['apple', 'orange', 'banana', 'grapes']
},
methods:{
changeArrayItem: function(){
//this will not work
//myArr[2] = 'strawberry';
//Array.splice(index, 1, newValue)
this.myArr.splice(2, 1, 'strawberry');
}
}
})
नेस्टेड सरणी के लिए
यदि योई में नेस्टेड ऐरे है, तो निम्नलिखित किया जा सकता है
new Vue({
el: '#app',
data:{
myArr : [
['apple', 'banana'],
['grapes', 'orange']
]
},
methods:{
changeArrayItem: function(){
this.$set(this.myArr[1], 1, 'strawberry');
}
}
})
यहाँ jsfiddle के लिए लिंक है
सरणियों वाली वस्तुओं का सरणी
new Vue({
el: '#app',
data:{
myArr : [
{
name: 'object-1',
nestedArr: ['apple', 'banana']
},
{
name: 'object-2',
nestedArr: ['grapes', 'orange']
}
]
},
methods:{
changeArrayItem: function(){
this.$set(this.myArr[1].nestedArr, 1, 'strawberry');
}
}
})
यहाँ फिडेल का लिंक दिया गया है
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow