Estoy usando el componente VueJsonCSV para exportar estos datos a csv. Los valores para estos se recuperan de Vuex Store.
<template> <v-btn depressed> <download-csv :data="json_data"> Export Files </download-csv> </v-btn> </template> <script> export default { data() { return { json_data: [ { No: '1', Parameters: 'Scenario Name', Values: `${this.$store.state.scenario.scenario}`, }, { No: '2', Parameters: 'Terrain Name', Values: `${this.$store.state.scenario.environment.ground}`, }, { No: '3', Parameters: 'Frequency', Values: `${this.$store.state.scenario.environment['antennas-db'].frequency}`, }, { No: '4', Parameters: 'Environment_type', Values: `${this.$store.state.scenario.environment.network['ground-profile']}`, }, { No: '5', Parameters: 'Downlink_scheduler_type', Values: `${this.$store.state.scenario.environment['antennas-db'].scheduler}`, }, ], } }, } </script>
Al actualizar estos valores desde la tienda Vuex, estos datos no cambian en json_data y exportan los datos antiguos. Deben actualizarse y actualizarse automáticamente en este json_data para exportar a csv, pero al exportarlos, se exportan los datos antiguos, no los datos actualizados de la tienda Vuex. ¿Qué función debo usar en el script? ¡Cualquiera que conozca VueJS por favor ayuda!
Este tipo de código debería ser totalmente reactivo.
<template> <button> <pre>{{ jsonData }}</pre> </button> </template> <script> export default { computed: { jsonData() { return [ { No: '1', Parameters: 'Scenario Name', Values: `${this.$store.state.scenario.scenario}`, }, { No: '2', Parameters: 'Terrain Name', Values: `${this.$store.state.scenario.environment.ground}`, }, { No: '3', Parameters: 'Frequency', Values: `${this.$store.state.scenario.environment['antennas-db'].frequency}`, }, { No: '4', Parameters: 'Environment_type', Values: `${this.$store.state.scenario.environment.network['ground-profile']}`, }, { No: '5', Parameters: 'Downlink_scheduler_type', Values: `${this.$store.state.scenario.environment['antennas-db'].scheduler}`, }, ] }, }, } </script>
data()
no está realmente destinado a ser reactivo, mientras que computed()
lo es.