Ich versuche eine Prozedur aufzurufen, um in einen anderen Zustand zu gelangen und diese Rückkehr zu erhalten. Vorher hatte ich es so codiert:Kann ich einen Ternäroperator verwenden, wenn es eine "Rückkehr" von den Bedingungen gibt?
if (self.word && row.wordId == self.word.wordId) {
return this.$state.go('r.s.s.a.w.w.edit', {
subjectId: self.sus.subject.id,
wordId: row.wordId
});
} else {
return this.$state.go('r.s.s.a.w.w', {
subjectId: self.sus.subject.id,
wordId: row.wordId
});
}
Jetzt bin Codierung ich es so:
return self.word && row.wordId == self.word.wordId
? self.$state.go('r.s.s.a.w.w.edit', {
subjectId: self.sus.subject.id,
wordId: row.wordId
})
: self.$state.go('r.s.s.a.w.w', {
subjectId: self.sus.subject.id,
wordId: row.wordId
});
}
Kann jemand bestätigen, ob dies eine gültige Art und Weise, dies zu tun oder soll ich zurückkehrt, bevor die Selbst . $ state.go?
ich Meinungs bin, dass Ihr vorheriger Code zu leicht war, lesen und verstehen. Warum das ternäre dann? –
Sicher hättest du es einfach OP probiert. – Phil
In den meisten Fällen werden ternär nur verwendet, um zwei verschiedene Werte demselben var zuzuweisen (Beispiel: if (boolean)? True: false), insbesondere für eine Bedingung mit einer Zeile. Es ist nicht gut lesbar, eine "komplexe" Bedingung (in vielen Zeilen) zu konvertieren, wie Sie es getan haben. Bevorzugen Sie eine andere Methode, wie Amadan es vorschlägt. – Aethyn