Tengo un objeto "info_login" donde obtengo información de la cuenta:
async created() { try { const res = await axios.get(inscriptionURL); this.comptes = res.data; this.comptes.forEach(element => { const data = {'pseudo': element.pseudo, 'password': element.password}; this.info_login.push(data) }); } catch (e) { console.error(e); } },Y me sale esto:
info_login: [ {pseudo: Nifoo, password: koko}, {pseudo: CassyDie, password: azeaze}, ]Mi HTML:
<div class="champs"> <label for="pseudo">Pseudo</label> <input v-model="pseudo" placeholder="Pseudo" /> </div> <div class="champs"> <label for="password">Mot de passe</label> <input type="password" v-model="password" placeholder="Mot de passe" /> </div>Y quiero mostrar una palabra en mi consola solo si el apodo que ingresé en el campo de apodo y la contraseña ingresada en el campo de contraseña son correctos.
Por el momento tengo esto:
checkPseudo(info) { return info.pseudo === this.pseudo; }, checkPassword(info) { return info.password === this.password; }, login() { console.log(this.info_login.find(element => element.pseudo === this.pseudo)) if (this.info_login.find(this.checkPseudo) && this.info_login.find(this.checkPassword)) { console.log('OK OK OK OK OK'); } else { console.log('NOOOOOOOON'); } }Pero el problema es que cuando escribo Nifoo como nombre de usuario y azeaze como contraseña, la consola me devuelve OK OK OK OK OK.
Quiero vincular el apodo a la contraseña. Gracias por tu ayuda.
También debe agregar una condición para la contraseña:
new Vue({ el: "#demo", data() { return { pseudo: '', password: '', info_login: [ {pseudo: 'Nifoo', password: 'koko'}, {pseudo: 'CassyDie', password: 'azeaze'}, ] } }, methods: { checkPseudo(info) { return info.pseudo === this.pseudo; }, checkPassword(info) { return info.password === this.password; }, login() { if (this.info_login.find(element => element.pseudo === this.pseudo && element.password === this.password)) { console.log('OK'); } else { console.log('NOOOOOOOON'); } } } }) <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="demo"> <div class="champs"> <label for="pseudo">Pseudo</label> <input v-model="pseudo" placeholder="Pseudo" /> </div> <div class="champs"> <label for="password">Mot de passe</label> <input type="password" v-model="password" placeholder="Mot de passe" /> </div> <button @click="login">login</button> </div>