Angular - 基于 ID FK 链接表中的两个 API 源
Angular - link two API sources in table based on ID FK
我真的是Angular的新手,我正在尝试创建一个用户事务列表,以显示操作时间和用户名。 在我的审计 API 中,我有一个操作 ID 和与我的用户 API 关联的用户 FK,我按如下方式显示它:
HTML
<table>
<thead>
<tr>
<th>
Date/Time
</th>
<th>
User
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="audit in audit.data>
<td>{{audit.audit_date_time}}</td>
<td>**{{audit.audit_user_fk}}**</td> **<--I need the name not the ID here**
</tr>
</tbody>
</table>
我的 API 如下:
AUDIT
[
{
"audit_id": "1",
"audit_date_time": "2016-01-28 12:46:20",
"audit_user_fk": "97"
}
]
USER
[
{
"user_id": "97",
"user_full_name": "Mr.User",
}
]
控制器,工作正常 GET来自每个 API 的数据:
app.controller('auditControl', ['$scope','auditService', 'userService', function ($scope, auditService, userService) {
var auditLogs = auditService.query(function () {
$scope.audit.data = auditLogs;
});
var user = userService.query(function () {
$scope.auditUser = user;
});
}]);
所以我遇到的主要问题是在表中获取用户名而不是外键值。 我已经删除了很多,以便我们可以专注于主要问题。 根据审核 API 中的 FK 从用户 API 获取用户名,并根据审核 API 中的项重复。
非常感谢任何帮助,并为菜鸟问题道歉!
创建自定义过滤器。
app.filter("lookupUser", function() {
function lookup (idNum, userList) {
var userName = "UNKNOWN";
angular.forEach(userList, function(user) {
if ( user.user_id == idNum ) {
userName = user.user_full_name;
};
});
return userName;
};
return lookup;
});
然后在模板中:
<tr ng-repeat="audit in audit.data>
<td>{{audit.audit_date_time}}</td>
<td>{{audit.audit_user_fk | lookupUser : auditUser }}</td>
</tr>
你可以做这样的事情:
控制器:
app.controller('auditControl', ['$scope','auditService', 'userService', function ($scope, auditService, userService) {
var auditLogs = auditService.query(function () {
$scope.audit.data = auditLogs;
});
var user = userService.query(function () {
$scope.auditUser = user;
});
$scope.getUserName = function (id) {
var result = $scope.users.filter(function( user ) {
return user.user_id == id;
});
if (angular.isDefined(result) && result.length > 0) {
return result[0].user_full_name;
} else {
return "--";
}
}
}]);
.HTML
<table>
<thead>
<tr>
<th>
Date/Time
</th>
<th>
User
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="audit in audit.data">
<td>{{audit.audit_date_time}}</td>
<td>**{{getUserName(audit.audit_user_fk)}}**</td> **<--I need the name not the ID here**
</tr>
</tbody>
</table>
我不知道用户数组在哪里,所以我打电话给$scope.users。
相关文章:
- javascript函数包含两个元素和web音频api
- 谷歌地图API JS-放置两个组合字段的自动完成
- ArcGIS JavaScript API API 合并/溶解两个多边形
- 是否可以在单个html文件中添加两个谷歌地图API(绘图和几何)
- 一个回调两个异步函数,一个是谷歌 api getDistanceMatrix
- 在谷歌地图 JS API 上获取两个点之间的点的纬度和经度(按百分比)
- Angular - 基于 ID FK 链接表中的两个 API 源
- 使用 Facebook API 获取和比较两个个人资料之间的常见喜欢
- Web 音频 API - 合并两个音频缓冲区
- 谷歌地图API V3-在同一张地图上有两个标记的位置
- 谷歌图表API:一个数据系列,两个垂直轴
- API 设计:如何组合两个延迟 jQuery 对象的结果
- 如何使两个异步API调用一个接一个地执行
- Twitter API只显示两个
- YouTube API同时启动两个视频
- 我如何用谷歌图表API绘制两个材质图,而没有一个是空的
- 从两个不同的 API 终结点无限滚动
- 在Google API DirectionsService中禁用两个可拖动标记之一
- split() API对两个特殊字符的使用
- Jquery的两个api调用在两个嵌套的$中检索不同的动态元素.每一个循环