在我的Vue应用程序中,我使用Axios获得一个XML文件,并使用parseString将XML解析为JSON.然后我需要将result传递给Vue数据(this.events).My console.log将解析后的XML显示为JSON,但我无法将Vue数据推送到该函数中.

var parseString = require('xml2js').parseString;

axios.get(`http://url.to/events.xml`)
  .then(response => {
    parseString(response.data, function (err, result) {
      console.log(result); // returns a json array
      this.events = result // nothing happens
    });        
  })
}

如何在Vue中将JSON数组存储到this.data

推荐答案

尽量不要在parseString中使用this,这可能是一个范围问题,这意味着this不是指vue数据对象.

试试这个:

axios.get('http://url.to/events.xml')
  .then(response => {
    var self = this; 
    parseString(response.data, function (err, result) {
      self.events = result
    });        
  })
}

Vue.js相关问答推荐

Nuxt 3翻转本视频

如何将$validator实例注入到使用组合API语法的Vue2.7应用程序中

vuetify/mdi 不显示图标

在 VueJS 中为 Get、Post、Patch 配置全局标头的最佳方法

VuetifyJS:如何摆脱 v-stepper 组件的提升?

Vue:如何将 store 与组件一起使用?

将检测外部点击自定义指令从 Vue 2 迁移到 Vue 3

Vue 3 如何获取有关 $children 的信息

为什么Vue.js 使用单字标签

CLI 3 - 如何为 CSS/Sass 创建vendor bundle ?

webpack模块解析失败意外字符'@'

加载和渲染时对象值上的 Vue.js 未定义错误

Vue 组件 Vue-Instant

Vuetify v-btn 路由活动类问题

从我的服务访问路由实例

Nuxt.js - API 调用的最佳场所

如何在 vue.js 2 上循环对象观察者?

将 Vue props与默认值合并

单击 v-select 项目时如何获取对象而不是单个值?

如何在 Vue.js 2 应用程序中模拟 onbeforeunload?