2016-04-27 51 views
0

我是AngularJs新手 我有兩個JSON對象,一個是「產品」,另一個是「用戶」 我有兩個ng-repeat是用於產品展示,獲取產品的用戶名我有另一個循環。 在內部循環中,我需要檢查產品JSON中的userId,並將其與User對象中的userId進行比較,如果匹配則將其顯示在P標記中。 我的代碼如下:ng-if用於比較動態json值

<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標籤。 誰能請與本

+0

可以提供數據在'products'和'User'。 –

+0

我的示例數據如下:products data {'productId':'1','name':'abc','image':'temp.jpg','user':'user1','description':'這是我對產品'}用戶數據{'userId':'user1','name':'test','address':'我的地址'}的示例描述 – user3483782

回答

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

仍顯示所有用戶名 – user3483782

+0

您是否可以打印{ oneUser.userId}}和{{product.user}}並告訴我他們在界面上顯示的內容? –

+0

如果我這樣使用,它什麼也沒有顯示。如果我使用這樣的用戶[userkey] .userId和products [key] .user它顯示確切的用戶ID。但我沒有得到如何比較他們ng - 如果 – user3483782

1

幫助你可以做到這一點與過濾器:

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

fiddle

編輯

你應該做的是帶過濾器的方式,你可以使用ng-show/ng-hide,但你仍然將該項目作爲註釋渲染,同時將其過濾不是。所以使用這個大數據。

+0

爲什麼它不適用於我,如果我使用product.name.It只是在使用產品[產品] .name.Am我做錯了什麼? – user3483782

+0

也許你沒有重複相同的方式產品......在小提琴中,你可以看到它是* ng-repeat =「產品中的產品」* ...而在你的問題中,你有它*(key,value)in產品* – daniel

+0

是的,我得到了它。我用作「(key,value)inprodicts」。謝謝 – user3483782