微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 在前端和后端使用常量整数

假设我的后端API中定义了以下常量:

User::USER_ROLE_norMAL; // Equal to 0
User::USER_ROLE_ADMIN; // Equal to 1

在我的后端,我现在可以进行以下比较:

if($user->role == User::USER_ROLE_norMAL)

当我必须在前端应用逻辑时,最佳做法是什么? (这些常数未知的地方)

在前端硬编码数字感觉不对,如下所示:

if(ajaxData.role == 0)

对于上下文:我需要在前端应用逻辑来改变布局

解决方法:

由于前端和后端逻辑不一定(并且不应该)耦合,我认为最好的方法是在前端代码中定义相同的常量.请记住,前端代码应始终与API规范一致.

你做的方式取决于你(可以找到许多好的替代品).

如果您使用某种框架,(简单)方法可能包含一些全局变量或使用某种服务.

就像是:

const role {
  USER_ROLE_norMAL: 0,
  USER_ROLE_ADMIN: 1,
};

然后你可以使用它们如下:

if(ajaxData.role == role.USER_ROLE_norMAL) {}

一个选项(不是很常用)是您可以在后端API中创建一个服务,该服务为前端提供这些值以使用它.因此,在前端代码可以使用与角色相关的任何值之前(例如),必须向后端发出请求以获取这些常量值并将其保存在前端中,以便在将来的操作中使用它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐