Estoy creando una aplicación usando VueJS 2 y el código a continuación es de src/utilities/request.js . Este request.js se cargará desde src/api/usermodule.js para llamar a axios.
solicitud.js
import atatus from 'atatus-spa' import store from '@/store' import { getToken } from '@/utilities/auth' const service = axios.create({ baseURL: process.env.VUE_APP_BE, timeout: 15000, // miliseconds headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', }, validateStatus: function (status) { // return status >= 200 && status < 400 if(status >= 200 && status < 400) { return true } if(status == 429) { /** * ######################################################## * # I want to set a 'data' variable in App.vue from here # * ######################################################## */ return true } // Laravel throttle error if(status == 419) { return true } // Laravel validation error } }) // request service.interceptors.request.use( async config => { config.headers['Authorization'] = 'Bearer ' + getToken() return await config }, error => { // Do something with request error atatus.notify(new Error('Error: ' + error)) Promise.reject(error) } ) export default serviceMi problema y pregunta es ¿cómo puedo inyectar/configurar datos en una variable de datos () dentro de App.vue para que se pueda enviar una notificación adecuada al usuario?
Deberías hacerlo después de la fase mounted , algo como esto:
data() { return { notifs: null } }, mounted() { service ... .then(({ data }) => { this.notifs = data }) } Pero si desea actualizar los datos dentro de este archivo .js , puede usar store . Después de resolver la respuesta, puede cambiar un estado, algo como esto, dependiendo de su código:
store.commit('updateNotifs', notifs)