Parse XML from Axios response, pushing to Vue data array
Try not to use this
inside parseString
, maybe it's a scope issue, which means this
isn't referring to the vue data object.
Try this:
axios.get('http://url.to/events.xml') .then(response => { var self = this; parseString(response.data, function (err, result) { self.events = result }); })}
Answer above is correct. However, I would just use arrow functions everywhere so the this
is always the VUE class component. Also, I would check for parsing errors.
axios.get('http://url.to/events.xml') .then(response => { parseString(response.data, (err, result) => { if(err) { //Do something } else { this.events = result } }); })}