通过 VueJS 上的 pinia,我使用一个商店来存储我的许可证,并且许可证有一个引用项目的编号。包含信息的项目列表位于其他商店。 所以我在许可证存储中创建 getter 来获取项目的信息(名称、企业...)。
但是,当页面加载时,getters 的值不会出现,当我进入 Vuejs Web 浏览器的扩展程序查看我的商店时,这些值就会出现。而且我不明白如何在模板中使用吸气剂...我尝试过但没有结果...
我制作了一个视频来演示我的问题: https://www.youtube.com/watch?v=Er4xcQ-Mq2Y
感谢您的帮助!
我的浏览页面:
Licences actives (de type "DEV")
| Numero/Clé | Fin d'activation | type | Entreprise | N° d'Affaire (Projet) |
Projet | Responsable | Version | Version Soft | Durée restante (jours) |
|---|---|---|---|---|---|---|---|---|---|
| {{ article.numero }} | {{ Date_formate(new Date(article.fin_activation)) }} | {{ article.type }} | {{ article.entreprise }} | {{ article.affaire }} | {{ article.name }} | {{ article.responsable }} | {{ article.version }} | {{ article.version_soft }} | {{ Math.round((new Date(article.fin_activation) - Date.now()) / 86400000) }} |
src/stores 中的许可证存储:
import { defineStore } from "pinia";
import { useListProjets } from "./projets";
const entreprises = useListEntreprises();
const projets = useListProjets();
export const useListLicences = defineStore({
id: "licences",
state: () => ({
list: [],
}),
persist: true,
getters: {
getList: (state) => state.list,
getName: (state) => //pour afficher Projet dans le tableau
state.list.map((licence) => {
projets.list.map((projet) => {
if (licence.projet_affaire == projet.affaire) {
return licence.name = projet.projetNom;
}
});
}),
getResponsable: (state) => //pour afficher Responsable
state.list.map((licence) => {
projets.list.map((projet) => {
if (licence.projet_affaire == projet.affaire) {
return licence.responsable = projet.userPseudo;
}
});
}),
getEntreprise: (state) => //pour afficher Entreprise
state.list.map((licence) => {
projets.list.map((projet) => {
if (licence.projet_affaire == projet.affaire) {
return licence.entreprise = projet.entrepriseNom;
}
});
}),
getAffaire: (state) => //pour afficher le Num d'affaire
state.list.map((licence) => {
projets.list.map((projet) => {
if (licence.projet_affaire == projet.affaire) {
return licence.affaire = projet.affaire;
}
});
}),
getID_Entreprise: (state) =>
state.list.map((licence) => {
entreprises.list.map((entreprise) => {
if (licence.entreprise == entreprise.entreprise_nom) {
return licence.ID_entreprise = entreprise.id;
}
});
}),
getContacts: (state) =>
state.list.map((licence) => {
projets.list.map((projet) => {
if (licence.projet_affaire == projet.affaire) {
return licence.contact1 = projet.email1;
}
});
}),
},
}); Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
使用这个:
const currentList = computed(() => { // removed: return useListLicenses2.$state.list return useListLicences2.list; })$state是一个展开对象,因此不会有响应