在我的控制,我有:過濾嵌套屬性在ngRepeat
$scope.currentDiscount = new DiscountPrototype;
其中:
var DiscountPrototype = function(){
this.Id = 0;
this.PromoCode = null;
this.DiscountValue = null;
this.DiscountProducts = []
}
var DiscountProductPrototype = function(discountId,id,catId,catType,name) {
this.DiscountId = discountId;
this.ProductCategoryType = catType;
this.Name = name
}
然後我推了一堆新DiscountProductPrototypes到$ scope.currentDiscount的DiscountProducts陣列。如果DiscountProduct具有ProductCategoryType =「C」,則它是一個類別,如果它是「P」,則它是一個產品。我的過濾器只打算顯示DiscountProduct數組中屬於類別的對象。
<div ng-repeat="category in currentDiscount.DiscountProducts | filter:{category.ProductCategoryType: 'C' : true}"
class="productTile">
<p>{{category.Name}}</p>
</div>
與上述濾膜我收到以下錯誤:
Syntax Error: Token '.' is at column {2} of the expression [{3}] starting at [{4}].
這似乎是說有什麼毛病:
category.ProductCategoryType
如果我這樣做,我沒有得到任何錯誤,但過濾器什麼都不做。顯示類別和產品。
<div ng-repeat="category in currentDiscount.DiscountProducts | filter: category.ProductCategoryType='C'"
class="productTile">
我是否需要創建一個自定義過濾器來實現這種過濾?
'過濾器:{」 ProductCategoryType':'C':true}' – tymeJV 2015-01-09 19:11:11
語法錯誤:從[{4}]開始的表達式[{3}]的列{2}的標記「{1}」。 – 2015-01-09 19:16:34
爲了幫助您檢查語法檢查結果,請嘗試提供一個調度程序。 – DeborahK 2015-01-09 19:32:05