मैं किसी ऑब्जेक्ट में डेटा जोड़ने और त्रुटि प्राप्त करने के लिए पुश() विधि का उपयोग कर रहा हूं:

ध्यान में न आया (वादे में) TypeError: this.message.push कोई फ़ंक्शन नहीं है

एपीआई कॉल से कुछ डेटा प्राप्त होता है, जिसे ऑब्जेक्ट में जोड़ा जाना है।

var price = new Vue({
        delimiters: ["[[","]]"],
        el: '#app',
        data: {
            message: {}
    },
    mounted () {
    {% for i in arr %}
        axios
        .get('https:apicall/symbol={{ x }}')
        .then(response => (this.message.push({name : response.data.price , cost: response.data.price.regularMarketPrice.fmt}))
    {% endfor %}
  }
})

हालांकि जब मैं बदल गया:

message: []

तथा

.then(response => (this.message.push(response.data.price))

यह ठीक काम किया।

मैं Django ढांचे में Vue का उपयोग कर रहा हूँ और Vue.js के लिए नया हूँ

1
Shrey Sharma 20 जुलाई 2020, 18:10

1 उत्तर

सबसे बढ़िया उत्तर

push एक सरणी विधि है न कि ऑब्जेक्ट विधि, एक सरणी को message:[] और message:{} जैसे ऑब्जेक्ट के रूप में प्रारंभ किया जा सकता है, ताकि आप किसी डेटा को किसी सरणी में पुश कर सकें या उस डेटा को एक को असाइन कर सकें वस्तु या उस वस्तु के अंदर की संपत्ति जैसे:

this.message=response.data.price

या

this.message.price=response.data.price
2
Boussadjra Brahim 20 जुलाई 2020, 18:25