【问题标题】:AngularJS Counting Number of Specific Nodes in JSON DatasetAngularJS 计算 JSON 数据集中特定节点的数量
【发布时间】:2014-07-15 11:09:47
【问题描述】:

我有一组 JSON 数据:

"MyMessages": [
        {
            "Code" :  "N101",
            "ID" : "History",
            "Indicator" : "Down",
            "PosChangeMessage" : "test test test test",
            "NegReasonMessage" : "test test test test",
            "Image" : "ImageType.Warning"
        },

        {
            "Code" :  "A874",
            "ID" : "History",
            "Indicator" : "Up",
            "NegReasonMessage" : "test test test test",
            "Image" : "ImageType.Ok"
        },

        {
            "Code" :  "X85",
            "ID" : "Age",
            "Indicator" : "Down",
            "PosChangeMessage" : "test test test test",
            "Image" : "ImageType.Warning"
        },

        {
            "Code" :  "Z846",
            "ID" : "Products",
            "Indicator" : "Up",
            "PosChangeMessage" : "test test test test",
            "Image" : "ImageType.Ok"
        },
    ],

我可以通过{{ MyMessages.length }}显示MyMessages中有多少项目

但是我想知道有多少PosChangeMessage 和多少NegChangeMessage 项目。

所以,在上面的例子中:

PosChangeMes​​sage = 3

NegChangeMes​​sage = 2

【问题讨论】:

  • 这里没有语法糖可以帮助你。因此,您必须以某种方式计算值。例如。 (过滤器、控制器方法、$watch)

标签: angularjs angularjs-scope angularjs-ng-repeat angular-filters


【解决方案1】:

请看这里:http://jsbin.com/yaxiya/1/

 angular.forEach(MyMessages, function(message){

       if(message.PosChangeMessage){
       $scope.PosChangeMessage++;
       }
       if(message.NegReasonMessage)
       {
       $scope.NegChangeMessage++;
       }


       });

【讨论】:

    【解决方案2】:

    在控制器中创建一个方法,迭代“MyMessages”的长度并计算相应的值,就像在你的控制器中这样..

    for(var i=0;i<MyMessages.length;i++){
      if(MyMessages[i].PosChangeMessage!=null){
        $scope.posChangeMessageLength++;  
      }
      if(MyMessages[i].NegReasonMessage!=null){
        $scope.negReasonMessageLength++;  
      }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2014-09-05
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多