2016-05-18 112 views
2

两个基本问题的NG-重复在AngularJS比较,获取数据,并将其与值从

1)我有一个控制器,在那里我定义一个键,值结构的名单,我想访问基于事件ID事件名称和记录它在控制台

$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重复名为事件,这将让我与列表中的eventID进行比较,但我不知道如何做到这一点。

<tr ng repeat d in data> 
    <td>d.Description</td> 
    <td>d.anyValue</td> 
</tr> 

欢迎任何帮助,我真的需要它,我是新来的角:)在控制器

回答

2

对于问题编号1,试试这个

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> 
+0

感谢您的时间 – kennechu

+0

嗨mtamma,一个问题,更具体的我NG重复是这样的: >接下来我有这个: 我需要的是将eventId的值放在缺省字段EVENT_ID上。 – kennechu

+0

var getEventName = function(){}和$ scope.getEventName = function(){} – kennechu

3

Add方法

$scope.search=function(obj){ 
    return obj.eventID === 3200; 
} 

添加它来查看

<tr ng-repeat="d in data | filter:search"> 
    <td>d.Description</td> 
    <td>d.anyValue</td> 
</tr> 
+0

感谢您的时间=) – kennechu

相关问题