2017-07-13 4 views
1

Ich muss prüfen, ob der aktuelle Benutzer der Autor der Frage ist, damit er die Schaltfläche zum Löschen der Frage sehen/verwenden kann. Aber mit meiner Implementierung kann ich nicht auf den Button überhaupt sehen:Vue.js if-Anweisung mit zwei Variablen

<form @submit.prevent="deleteQuestion(question.id)"> 
    <input type="submit" v-if="this.currentUser === question.author" value="Löschen"/> 
</form> 

ich question.author mit einem JSON Anfrage current wird bei der Anmeldung.

Vielen Dank für die Zeit nehmen,

Fierl.

Antwort

0

this.currentUser und question.author sind nicht die gleichen Objekte, obwohl sie die gleichen Daten enthalten könnten. Aus diesem Grund schlägt der Vergleich fehl.

Ihre Benutzerobjekte haben wahrscheinlich eine id-Eigenschaft (oder einen anderen Primärschlüssel). Vergleichen Sie das stattdessen.

<input type="submit" v-if="this.currentUser.id === question.author.id" value="Löschen"/> 
+0

danke, aber wenn ich keine ID für beide habe? Kann ich sie irgendwie werfen? – Fierl

+0

Wenn Sie keinen eindeutigen Schlüssel zum Vergleich haben (ID, Benutzername, E-Mail, usw.), können Sie sie nicht vergleichen. Sie können möglicherweise einen [tiefen Vergleich] (https://stackoverflow.com/questions/1068834/object-comparison-in-javascript) der Objekte stattdessen, wenn das für Sie funktioniert. –