Dans les applications Vue, nous utilisons souvent la bibliothèque axios pour réaliser l'interaction entre le front-end et le back-end, comme l'envoi de requêtes en arrière-plan pour obtenir des données. Cependant, lors de l'utilisation d'axios, nous pouvons rencontrer des erreurs similaires à « Impossible de lire la propriété 'xxx' de non définie ». Ce message d'erreur est relativement large et le message d'erreur est différent pour différentes raisons.
Dans cet article, nous présenterons ce qui peut causer cette erreur et comment la résoudre.
1. Raison
Lors de l'utilisation de la bibliothèque axios pour demander des données dans une application Vue, les raisons pour lesquelles l'erreur "Impossible de lire la propriété 'xxx' de undéfini" peuvent être les suivantes :
Si la bibliothèque de dépendances axios n'est pas installée correctement dans notre application Vue, ou si axios n'est pas introduit correctement dans le composant, alors lorsque nous appelons axios, le système affichera l'erreur Impossible de lire la propriété 'xxx. ' d'indéfini.
Étant donné que le framework d'application Vue utilise la fonctionnalité de liaison de données bidirectionnelle, lors de l'utilisation de fonctions fléchées ou de fonctions de rappel pour modifier la valeur d'une variable, une variable temporaire sera générée. Lorsque certains développeurs utilisent cette variable temporaire, parce qu'ils ne savent pas si les attributs des données sont restitués avec succès, le message d'erreur apparaît.
Parce que les requêtes axios dans les applications Vue sont exécutées de manière asynchrone et que certains développeurs ne gèrent pas correctement les données asynchrones, ce qui rend l'objet variable vide. Lorsque cette variable est vide, une erreur Impossible de lire la propriété 'xxx' ou non définie se produira lors de l'appel de ses propriétés.
2. Solution
Si ce problème se produit, vous pouvez essayer la solution suivante :
npm install axios --save
// Promise对象 new Promise((resolve, reject) => { axios.get('/api/data') .then((res) => { resolve(res) }) .catch((error) => { reject(error) }) }) // async/await语法 async function fetchData () { try { const res = await axios.get('/api/data') return res } catch (error) { console.log(error) } }
Résumé
L'erreur Impossible de lire la propriété 'xxx' de undefined se produit lors de l'utilisation d'axios dans une application Vue. Cela peut être dû à une installation incorrecte des dépendances, à une introduction incorrecte de la bibliothèque axios ou à l'utilisation de données avant des données incomplètes. le rendu est terminé. Causés par certains attributs et une gestion incorrecte des variables lors du traitement des requêtes asynchrones, nous pouvons éviter de telles erreurs en confirmant si la bibliothèque axios est introduite et appelée normalement et en utilisant la syntaxe Promise ou async/wait.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!