Angularjs 过滤并重复多次
我正在创建一个应用程序来管理餐厅订单 我从$http创建菜单,因此我有以下列表:Angularjs 过滤并重复多次,angularjs,Angularjs,我正在创建一个应用程序来管理餐厅订单 我从$http创建菜单,因此我有以下列表: <div class="row vertical" style="background-image: url(/gest/images/etichette/ANTIPASTI.png);border-color: #0CF"> <div class="card piatti col s2" ng-repeat="anti in antis | filter:{tipo:'ANT
<div class="row vertical" style="background-image: url(/gest/images/etichette/ANTIPASTI.png);border-color: #0CF">
<div class="card piatti col s2" ng-repeat="anti in antis | filter:{tipo:'ANTIPASTI'}">
<div class="card-content"> <span class="card-title truncate red darken-3">{{anti.piatto}}</span> </div>
<div class="card-action"> <a href="#" ng-repeat="n in [1, 2, 3, 4, 5]" ng-click="insert(n,com,anti.id,anti.tipo,marcia)">{{n}}</a></div>
</div>
</div>
我每次都会创建一个新行,据我所知,您在
antis
上已经有了所有的日期,您只想按类型过滤它,还是按特定类型排序
例如,这将按名称排序,但您也可以提供一个数组,其中包含函数,以您喜欢的方式检索每种类型,您可以阅读有关它的信息
但基本上你会的
anti-in-antis |订购人:'+tipo'
或
anti-in-antis | orderBy:[function(){},function(){}]
编辑:
正如@yarons提到的,您还可以链接字符串以进一步过滤。我已经更新了,所以现在过滤器将是anti-in-antis | orderBy:['+tipo','+piato']“
,这表示第一个tipo
将按字母顺序升序(+
指示),然后piato也将按字母顺序升序
如果你想定义一个不同于字母顺序的顺序,我想你可以为tipo
使用一种枚举,如下所示:
var tipoENUM = {};
tipoENUM['ANIPASTI'] = 0;
tipoENUM['PASTA'] = 1;
tipoENUM['PIZZA'] = 2;
tipoENUM['BEEF'] = 3;
tipoENUM['DESERT'] = 4;
因此,您可以避免使用字符串作为订单,请参见下面的示例
编辑2:
好的,如果您通过HTTP请求接收数据,最好创建一个order函数来帮助您,检查如下:
// The enum would be defined as before but:
$scope.orderTipo = function (dish) {
return tipoENUM[dish.tipo];
}
在HTMl上,您将执行以下操作:
ng-repeat="anti in antis | orderBy:[orderTipo, '+piato']"
据我所知,您在
antis
上已经有了所有的日期,您只想按类型过滤或您想按特定类型排序吗
例如,这将按名称排序,但您也可以提供一个数组,其中包含函数,以您喜欢的方式检索每种类型,您可以阅读有关它的信息
但基本上你会的
anti-in-antis |订购人:'+tipo'
或
anti-in-antis | orderBy:[function(){},function(){}]
编辑:
正如@yarons提到的,您还可以链接字符串以进一步过滤。我已经更新了,所以现在过滤器将是anti-in-antis | orderBy:['+tipo','+piato']“
,这表示第一个tipo
将按字母顺序升序(+
指示)之后,piato也会按字母顺序递增
如果你想定义一个不同于字母顺序的顺序,我想你可以为tipo
使用一种枚举,如下所示:
var tipoENUM = {};
tipoENUM['ANIPASTI'] = 0;
tipoENUM['PASTA'] = 1;
tipoENUM['PIZZA'] = 2;
tipoENUM['BEEF'] = 3;
tipoENUM['DESERT'] = 4;
因此,您可以避免使用字符串作为订单,请参见下面的示例
编辑2:
好的,如果您通过HTTP请求接收数据,最好创建一个order函数来帮助您,检查如下:
// The enum would be defined as before but:
$scope.orderTipo = function (dish) {
return tipoENUM[dish.tipo];
}
在HTMl上,您将执行以下操作:
ng-repeat="anti in antis | orderBy:[orderTipo, '+piato']"
据我所知,您在
antis
上已经有了所有的日期,您只想按类型过滤或您想按特定类型排序吗
例如,这将按名称排序,但您也可以提供一个数组,其中包含函数,以您喜欢的方式检索每种类型,您可以阅读有关它的信息
但基本上你会的
anti-in-antis |订购人:'+tipo'
或
anti-in-antis | orderBy:[function(){},function(){}]
编辑:
正如@yarons提到的,您还可以链接字符串以进一步过滤。我已经更新了,所以现在过滤器将是anti-in-antis | orderBy:['+tipo','+piato']“
,这表示第一个tipo
将按字母顺序升序(+
指示),然后piato也将按字母顺序升序
如果你想定义一个不同于字母顺序的顺序,我想你可以为tipo
使用一种枚举,如下所示:
var tipoENUM = {};
tipoENUM['ANIPASTI'] = 0;
tipoENUM['PASTA'] = 1;
tipoENUM['PIZZA'] = 2;
tipoENUM['BEEF'] = 3;
tipoENUM['DESERT'] = 4;
因此,您可以避免使用字符串作为订单,请参见下面的示例
编辑2:
好的,如果您通过HTTP请求接收数据,最好创建一个order函数来帮助您,检查如下:
// The enum would be defined as before but:
$scope.orderTipo = function (dish) {
return tipoENUM[dish.tipo];
}
在HTMl上,您将执行以下操作:
ng-repeat="anti in antis | orderBy:[orderTipo, '+piato']"
据我所知,您在
antis
上已经有了所有的日期,您只想按类型过滤或您想按特定类型排序吗
例如,这将按名称排序,但您也可以提供一个数组,其中包含函数,以您喜欢的方式检索每种类型,您可以阅读有关它的信息
但基本上你会的
anti-in-antis |订购人:'+tipo'
或
anti-in-antis | orderBy:[function(){},function(){}]
编辑:
正如@yarons提到的,您还可以链接字符串以进一步过滤。我已经更新了,所以现在过滤器将是anti-in-antis | orderBy:['+tipo','+piato']“
,这表示第一个tipo
将按字母顺序升序(+
指示)之后,piato也会按字母顺序递增
如果你想定义一个不同于字母顺序的顺序,我想你可以为tipo
使用一种枚举,如下所示:
var tipoENUM = {};
tipoENUM['ANIPASTI'] = 0;
tipoENUM['PASTA'] = 1;
tipoENUM['PIZZA'] = 2;
tipoENUM['BEEF'] = 3;
tipoENUM['DESERT'] = 4;
因此,您可以避免使用字符串作为订单,请参见下面的示例
编辑2:
好的,如果您通过HTTP请求接收数据,最好创建一个order函数来帮助您,检查如下:
// The enum would be defined as before but:
$scope.orderTipo = function (dish) {
return tipoENUM[dish.tipo];
}
在HTMl上,您将执行以下操作:
ng-repeat="anti in antis | orderBy:[orderTipo, '+piato']"
好的,你的例子很完美,但我会重复每次列表中的“tipo”,然后是相对的“piato”……类似于这样: 反巴斯蒂 -布鲁什塔 -供应 -弗里托 普里米 -卡夫博纳拉 -无柄亚纲 等等
可能吗 好的,你的例子很完美,但每次我都会重复列表中的“tipo”,然后是相对的“piato”……类似这样: 反巴斯蒂 -布鲁什塔 -供应 -弗里托