两个基本问题,
1)我有一个控制器,我在其中定义一个带有键,值结构的列表,我想根据eventID访问事件名称并将其记录在控制台中
$scope.events = [
{eventID:3200, eventName:"Event One"}
{eventID:3201, eventName:"Event Two"}
];
我试过了:
if($scope.events.eventID == 3200) {
console.log("Ok");
}
但它没有用:(
2)然后在我的视图中我有一个表格,我打印来自WS的数据,我想要的是根据我的$ scope.events列表中的eventID在表格上打印描述,我有一个字段我的ng-repeat命名为 event ,让我可以与列表中的eventID进行比较,但我不知道如何做到这一点。
<tr ng repeat d in data>
<td>d.Description</td>
<td>d.anyValue</td>
</tr>
欢迎任何帮助,我真的需要它我是Angular的新手:)
答案 0 :(得分:3)
在控制器中添加方法
<tr ng-repeat="d in data | filter:search">
<td>d.Description</td>
<td>d.anyValue</td>
</tr>
将其添加到视图
11 490 5
答案 1 :(得分:2)
,请尝试使用此
if($scope.events[0].eventID == 3200) {
console.log("Ok");
}
使用此
进行循环angular.forEach($scope.events, function (value) {
if (value.eventId === 3200) {
{
console.log('OK');
}
});
对于问题2,创建辅助函数以基于ID返回eventName。
$scope.getEventName = function (eventId) {
var result = '';
angular.forEach($scope.events, function (value) {
if (value.eventID === eventId) {
result = value.eventName;
return false;
}
});
return result;
}
<tr ng-repeat="d in (exportDataEventDesc.result.slice(5, exportDataEventDesc.result.length-2))">
<td>{{d.Description}}</td>
<td>{{d.anyValue}}</td>
<td ng-bind="getEventName(d.merchMetrics.EVENT_ID)" style="text-align: left"></td>
</tr>