javascript - 如何在保存用户的同时为用户添加角色?
问题描述
我有两个具有用户关系的对象-> 角色(一个用户对多个角色)。现在我正在尝试保存这个用户,这是我的代码:
<div class="row">
<br>
<div class="panel-default">
<div class="panel-heading">{{addOrUpdateLabel}}</div>
<div class="panel-body">
<form role="form" class="col-xs-6">
<div class="form-group">
<label for="">Enter Email</label>
<input type="text" class="form-control" ng-model="user.email" ng-disabled="disableEmailField"></input>
<p class="help-block"></p>
</div>
<div class="form-group">
<label for="">Enter Name</label>
<input type="text" class="form-control" ng-model="user.name"></input>
<p class="help-block"></p>
</div>
<div class="form-group">
<label for="">Enter Contact Number</label>
<input type="text" class="form-control" ng-model="user.contact"></input>
<p class="help-block"></p>
</div>
<div class="form-group">
<label for="">Add Role to User</label><br>
<select ng-model="currentRole" ng-options="r for r in rolesArray" style="width:380px; height:30px;">
<option value="">Select role</option></select>
<p class="help-block"></p>
</div>
<div class="form-group" ng-hide="hidePasswordField">
<label for="">Enter Password</label>
<input type="text" class="form-control" ng-model="user.password"></input>
<p class="help-block"></p>
</div>
<div class="form-group">
<button class="btn btn-success" type="submit" ng-click="save(user)" ng-show="showAddButton">Save</button>
<button class="btn btn-success" type="submit" ng-click="update(user)" ng-show="showUpdateButton">Update</button>
<button class="btn btn-primary" type="submit" ng-click="clear()">Clear</button>
<a href="/users/all"><button class="btn btn-danger">Cancel</button></a>
</div>
</form>
</div>
</div>
我有角色数组,其中包含一些预定义的角色:
$scope.rolesArray = ["USER", "ADMIN", "DBA"];
- 我的问题是如何将角色(我的 ng-model="currentRole")添加到用户模型。我的用户模型看起来像: {"id":"1","username":"xyz@abc.com","password":"******", "roles":{"id":" 1", "角色名":"USER"}}
解决方案
将选定的角色添加到方法中的user
对象save
。虽然currentRole
不包含角色的 id,所以不知道如何获得这些。
public save(user): void {
angular.forEach(this.currentRole, (role)=> {
user.roles.push({id: role.id, rolename: role.name});
}
}
推荐阅读
- csv - 使用类似于 CSV、TSV 文件格式的数据集准备
- sql-server - SQL Server:在没有管理员用户的情况下获取客户端 tcp 端口
- python - matplotlib.pyplot.show() 窗口在运行后自动/立即终止
- ssl - 如何将 Terraform 连接到 Kubernetes 集群
- c# - 如何在.Net c#中使用泛型方法注入(注册服务)非泛型类
- swiftui - SwiftUI/Combine:订阅数组更新与元素更新
- microsoft-teams - 未捕获的类型错误:e 不是 MicrosoftTeams.min.js:1 的函数
- java - 弹簧 WebFlux。如何使用@RequestBody 注解获取两种不同格式的请求正文?
- php - Laravel web-Socket 安装
- react-native - React Native / Styled Components - 覆盖样式化组件样式