Angularjs 过滤并重复多次

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

我正在创建一个应用程序来管理餐厅订单

我从$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:'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”……类似这样:

反巴斯蒂 -布鲁什塔 -供应 -弗里托