J'essaie d'obtenir une variable de magasin vuejs comme celle-ci:
const pathFile = `#pathFile _ $ {this.devisDTO.code_produit}`;
const pathApp = this. $ store.state.parameters.urls. $ {pathFile};
Donc, dans la deuxième ligne, $ {pathFile} n'est pas interprété de cette façon. Pourriez-vous nous aider à écrire ceci?
4 Réponses :
pathFile est une variable normale. Retirez-y les crochets.
const pathFile = `#pathFile_${this.devisDTO.code_produit}`;
const pathApp = this.$store.state.parameters.urls.pathFile;
Ce n'est pas du javascript valide. Je suppose que vous vouliez écrire ce qui suit:
const pathFile = `#pathFile_${this.devisDTO.code_produit}`;
const pathApp = this.$store.state.parameters.urls[pathFile];
En JavaScript, $ {string_name} est utilisé dans les chaînes de modèle (1). Si vous souhaitez accéder à la valeur d'un dictionnaire basé sur le contenu d'une chaîne, vous devez utiliser la syntaxe des crochets. Dans votre cas
this.$store.state.url[path_file]
Sur une note latérale, je vous suggère d'utiliser des getters de magasin pour accéder aux variables.
(1): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
vous devez modifier votre code en supprimant les crochets de parameters.urls. $ {path File} aussi .urls.path File;
voici le code ..
const pathFile = `#pathFile_${this.devisDTO.code_produit}`;
const pathApp = this.$store.state.parameters.urls.pathFile;
p>
essayez
ceci. $ store.state.parameters.urls [pathFile]