我想隐藏一个条件中的元素, 这就是我的工作: 首先,我使用具有计算属性的v-if,但无法正常工作,因为HMR重新加载页面时,该按钮是隐藏的。当我注销并登录并刷新其他条件的localSorage时,该按钮仍处于隐藏状态,反之亦然,该按钮应显示在不应显示的位置。 为什么? 这是我的代码:
computed:{
RegistrarUsuario(){
var userData = JSON.parse(localStorage.getItem("usuario"));
var acciones = userData.info.Acciones
for(var i = 0; i < acciones.length; i++){
if(acciones[i].accion === 'RegistrarUsuario'){
return false;
}
else{
return true;
}
}
}
},
<v-btn v-if="RegistrarUsuario" slot="activator" dark>Agregar</v-btn>
答案 0 :(得分:1)
您仅查看acciones
数组的第一个元素(在第一次迭代中返回true或false)。我怀疑您想要的是如果任何元素匹配返回false。为此,您可以使用Array.some():
RegistrarUsuario(){
var userData = JSON.parse(localStorage.getItem("usuario"));
var acciones = userData.info.Acciones
return !acciones.some(a => a.accion === 'RegistrarUsuario');
}