Ich habe bedingte Parameter auf ui-Router, weil ich den gleichen Bildschirm an verschiedenen Orten in einer App verwende. Ich muss eine Logik schreiben, um zu prüfen, welchen $stateParams
Wert ich paramId
zugewiesen habe. Ich habe es mit if
und else
versucht.
Gibt es einen besseren Ansatz, um diese Aufgabe zu erfüllen?
$scope.challengesDTO = {
challengeTypeLkupCode: 'RA_CHLNG_TYP_PRC'
};
var paramId = $stateParams.processId ? $stateParams.processId : $stateParams.assessmentId;
if ($stateParams.processId) {
$scope.challengesDTO.challengeTypeLkupCode = 'RA_CHLNG_TYP_PRC'
} else if ($stateParams.assessmentId) {
$scope.challengesDTO.challengeTypeLkupCode = 'RA_CHLNG_TYP_RSKASES'
}
Gibt es eine Möglichkeit, den Wert zu überprüfen, der 'paramId' zugeordnet ist, 'processId' oder' assessmentId'? – hussain
Nicht ohne einen weiteren Vergleich durchzuführen, um explizit zu sehen, ob 'paramId' gleich' processId' oder 'assessmentId' ist. Dies ist der Grund, warum eine if-Anweisung bevorzugt werden sollte, da Sie einen einzelnen Vergleich durchführen und all Ihre Logik für den Vergleich innerhalb des Rumpfes der if-Anweisung ausführen können. –