ng-if用于比较动态json值

时间:2016-04-27 06:24:25

标签: html angularjs

我是AngularJs的新手 我有两个JSON对象,一个是"产品"另一个是"用户" 我有两个ng-repeat一个用于产品显示,在里面获取产品的用户名我有另一个循环。 在内部循环中,我需要从产品JSON中检查userId,并将其与User对象中的userId进行比较,如果匹配则在P tag中显示它。 我的代码如下:

<div class="col-md-4" ng-repeat="(key,value) in products" style="padding-top: 1.4%; padding-bottom: 1.4%;" >
<img style="height:300px;width:350px" ng-src="{{products[key].image}}"></img>
<div ng-repeat="(userkey,value) in User">
<p ng-if="User[userkey].userId == products[key].user">{{{User[userkey].name}}</p> 
</div>
</div>

我试过这样但是它在p标签中显示所有用户。 任何人都可以帮助这个

3 个答案:

答案 0 :(得分:1)

您可以使用过滤器执行此操作:

 oneUser in User | filter: {userId:product.user}:true

fiddle

修改

你应该这样做的方法是使用过滤器,你可以使用ng-show / ng-hide,但你仍然将该项目渲染为注释,而使用过滤器则不会。所以将它用于大数据。

答案 1 :(得分:0)

<div class="col-md-4" ng-repeat="product in products" style="padding-top: 1.4%; padding-bottom: 1.4%;" >
<img style="height:300px;width:350px" ng-src="{{product.image}}"></img>
<div ng-repeat="(oneUser in User">
<p ng-show="oneUser.userId == product.user">{{{oneUser.name}}</p> 
</div>
</div>

答案 2 :(得分:0)

这对我有用 -

<div ng-repeat="p in products">
    <div ng-repeat="u in users">
        <p ng-show="u.userId == p.user">
            {{u.name}}
        </p> 
    </div>
</div>

小提琴 - http://jsfiddle.net/halirgb/Lvc0u55v/