gpt4 book ai didi

javascript - 使用三元运算符如何检查值来自哪个 $stateParams?

转载 作者:行者123 更新时间:2023-12-03 07:03:38 28 4
gpt4 key购买 nike

我在 ui-router 上有条件参数,因为我在应用程序的不同位置使用相同的屏幕。我必须编写逻辑来检查我分配给 paramId$stateParams 值。我尝试过使用 ifelse

是否有更好的方法来完成这项任务?

$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'
}

最佳答案

考虑空合并运算符

您应该能够将三元运算符替换为 the null coalescing operator in Javascript ||,本质上是一个逻辑“OR”语句:

// This will set it to processId (if available), otherwise assessmentId
var paramId = $stateParams.processId || $stateParams.assessmentId;

三元(如果你想要的话)

但是,如果您只是担心设置 challengeTypeLkupCode 属性,则可以使用以下内容,这将根据 processId 是否存在进行设置:

// Set your lookup type depending if processId exists or not
$scope.challengesDTO.challengeTypeLkupCode = ($stateParams.processId) ? 'RA_CHLNG_TYP_PRC' : 'RA_CHLNG_TYP_RSKASES';

出于可读性目的,您最好只使用初始代码中所示的 if 语句。

关于javascript - 使用三元运算符如何检查值来自哪个 $stateParams?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36920444/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com