这就是我设置FilterExpr的方式
$scope.ChangeFilter = function() {
if ($routeParams.SCId) {
$scope.FilterExpr = {'SubCategoryID': $routeParams.SCId.toString()};
}
else {
$scope.FilterExpr = //What should be here //
}
};
我在这里使用它
<div class='box' ng-repeat="product in ProductService.Products | filter:SearchText | filter:FilterExpr:true| orderBy:'ProductName'">
<!-- Display filtered Products -->
</div>
如果$ routeParams.SCId不存在,我想使它等同于:
<div class='box' ng-repeat="product in ProductService.Products | filter:SearchText | orderBy:'ProductName'">
<!-- Display filtered Products -->
</div>
其他部分的表达应该是什么?
答案 0 :(得分:2)
你可以通过ng-if
实现这一点,可能有更好的方法来实现这一目标,
如果范围中有SCId
,则会显示此内容,而其他内容将从dom中删除。
<div ng-if="SCId" class='box' ng-repeat="product in ProductService.Products | filter:SearchText | filter:FilterExpr:true| orderBy:'ProductName'">
<!-- Display filtered Products -->
如果范围中没有SCId
,则会显示此内容,而其他内容将从dom中删除。
<div ngif="!SCId" class='box' ng-repeat="product in ProductService.Products | filter:SearchText | orderBy:'ProductName'">
<!-- Display filtered Products -->
并使用$routeParams
,
在控制器中,
$scope.SCId = $routeParams.SCId;