我是vue的新手,我正在尝试让它工作,我从XML中得到一些数据,一切都正常,但是我想用一个从Store中得到一个值的计算来改变我从XML中得到的值。
我的计算结果是:
currentStep: {
set (val) {
this.$store.commit('setCurrentStep', val)
},
get () {
return this.$store.state.currentStep
}
}
对于axios和xml2js,我使用以下方法获取所有数据:
getData() {
axios.get("https://something.xml").then((response) => {
this.parseXML(response.data).then((data) => {
this.flightInformations = data
})
})
},
parseXML(data) {
return new Promise((resolve) => {
let parser = new xml2js.Parser({
trim: true,
explicitArray: true,
});
parser.parseString(data, function (err, result) {
let obj = null
obj = result.flugplan.abflug[0].flug;
let flight_dates = {};
for (let item of obj) {
let flight_date = item.datum.join().toString();
if (!flight_dates[flight_date]) {
flight_dates[flight_date] = [];
}
flight_dates[flight_date].push({
flightNr: item.flugnr.join().toString(),
flightPlace: item.ort.join().toString(),
flightPlan: item.plan.join().toString(),
flightExpected: item.erwartet.join().toString(),
flightDate: item.datum.join().toString(),
})
}
resolve(flight_dates);
})
})
}
我需要改变我的OBJ使用我的计算如下:
let obj = null
if (this.currentStep === 'departures') {
obj = result.flugplan.abflug[0].flug;
} else {
obj = result.flugplan.ankunft[0].flug;
}
但这不管用你们能帮帮忙吗
非常感谢您的光临。
2条答案
按热度按时间1rhkuytd1#
Computed只能返回一些值而不能修改任何内容。请尝试以下方法:
然后使用someData值:
eagi6jfj2#
我终于得到了它,现在工作!这里是代码,如果有人有同样的问题
现在使用Store,当我更改CurrentStep时,它也会更改读取XML的哪一部分。