首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJs ng-重复ng-init ng-显示条件中断一表行

AngularJs ng-重复ng-init ng-显示条件中断一表行
EN

Stack Overflow用户
提问于 2015-07-24 14:19:22
回答 2查看 696关注 0票数 0

在ng-重复中,如何检测一个JSON值是否发生了变化?

如果区域发生变化,我将在一个表中显示一行,其中包含上一列值的总和。

Ng-init接收区域值,但始终保持与当前区域相同的值,在控制器上创建空值,因此我无法进行比较。

代码语言:javascript
复制
ng-init="previousRegion = uniqueitem.Region"

ng-show="{{ uniqueitem.Region !== previousRegion }}"

我确实有一个具有区域、月份值和年值的JSON,格式如下:

代码语言:javascript
复制
[
    {
        "Region": "NORTH",
        "VlM": "654321",    
        "VlY": "123456"
    },
    {
        "Region": "NORTH",
        "VlM": "234567",    
        "VlY": "432765"
    },
    {
        "Region": "SOUTH",
        "VlM": "567234",    
        "VlY": "321456"
    },
    {
        "Region": "CENTER",
        "VlM": "456123",    
        "VlY": "987654"
    }
]

我的.重复:

代码语言:javascript
复制
<table>
    <tbody ng-repeat="item in data track by item.Region">
        <tr ng-repeat="uniqueitem in item" >
            <td ng-init="previousRegion = uniqueitem.Region">
              {{uniqueitem.Region}} - {{previousregion}} - 
            </td>
            <td>
              {{uniqueitem.VlM}} 
            </td>
            <td>
              {{uniqueitem.VlY}} 
            </td>
             <td 
                ng-show="{{ uniqueitem.Region !== previousRegion }}"
                ng-init="previousRegion = uniqueitem.Region">
                <b>Total</b> here will came totals
             </td>
        </tr>
    </tbody>
</table>

而不是简单的清单

代码语言:javascript
复制
Region  M           Y 
NORTH   654321  123456
NORTH   234567  432765
SOUTH   567234  321456
CENTER  456123  987654

我将建立一个列表,打破每一地区一行,总和的竞技场总数。

在控制器中,我确实创建了作用域变量:

代码语言:javascript
复制
$scope.previousRegion ='';
$scope.sumM ='';
$scope.sumY ='';
$scope.sumMRegion ='';
$scope.sumYRegion ='';
$scope.sumMRegionTotals ='';
$scope.sumYRegionTotals ='';

想要找到开始和的破缺条件。

代码语言:javascript
复制
Region  M           Y 
NORTH   654321  123456
NORTH   234567  432765
>>total 888888  556221
SOUTH   567234  321456
>>total 567234  321456
CENTER  456123  987654
>>Total 456123  987654
>>>>Totals  1912245 1865331 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-24 14:41:36

ng--每次迭代都使用一个$index值,您可以在比较中使用这个值:

{{ uniqueitem.Region !== item[$index - 1].Region }}

票数 1
EN

Stack Overflow用户

发布于 2015-07-24 14:37:09

试着像这样

在纳吉特

代码语言:javascript
复制
ng-init="newRegion = previousRegion!=uniqueitem.Region ;previousRegion= uniqueitem.Region"

在全领域

代码语言:javascript
复制
 ng-show="newRegion"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31612949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档