单独的类别项角度JS
Separate category item angularJS
如何在 AngularJS 中列出项目并按类别分隔它们,如下所示:
<h3>Products</h3>
<div ng-repeat="item in products">
<div>
{{item.category}}
</div>
<p>
{{item.name}}
</p>
<p>
{{item.price}}
</p>
</div>
$scope:
$scope.products = [
{
name:"product1",
price:"450",
category:"cat1"
},
{
name:"product2",
price:"450",
category:"cat2"
},
{
name:"product3",
price:"450",
category:"cat1"
}
];
我希望它看起来像这样:
猫1
--->产品1
--->产品3
猫2
--->产品2...
请帮忙!
参见 [小提琴])(http://jsfiddle.net/Lvc0u55v/2846/)
我做了一些格式化以所需的格式发送数据。
$scope.productCategories = {};
for (var i = 0; i < products.length; i++) {
if ($scope.productCategories[products[i].category] == undefined)
$scope.productCategories[products[i].category] = [];
$scope.productCategories[products[i].category].push({
name: products[i].name,
price: products[i].price
});
}
HTML格式已关闭,但我希望这能给您一个想法
你可以在
ng-repeat中使用groupBy filter。 应在应用中添加 GroupBy 筛选器依赖项。
var app = angular.module("app",['angular.filter']);
app.controller("ctrl" , function($scope){
$scope.products = [ { name:"product1", price:"450", category:"cat1" }, { name:"product2", price:"450", category:"cat2" }, { name:"product3", price:"450", category:"cat1" } ];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-filter/0.4.7/angular-filter.js"></script>
<div ng-app="app" ng-controller="ctrl" class="panel-group" id="accordion">
<h3>Products</h3>
<div ng-repeat="(key,value) in products | groupBy: 'category'">
<div>
{{key}}
</div>
<div ng-repeat="item in value">
<p>
{{item.name}}
</p>
<p>
{{item.price}}
</p>
</div>
</div>
</div>
相关文章:
- 性能与模块化:将JS集成到PHP或单独的custom.JS中
- jQueryAjax调用在单独的.js文件中不起作用
- Bootstrap CSS和JS我必须将它们包含在单独的文件中,或者可以编译它们
- 在 Node.JS 中,如何从单独的.js文件中返回整个对象
- google.setOnLoadCallback()在单独的JS文件中不起作用
- 单独的文件(HTML5、CSS和JS)
- 在单独的上下文中运行 js 代码并访问其全局变量
- 如何将.js从视图移动到单独的资产 - Ruby On Rails
- 单独的类别项角度JS
- 如何在单独的文件中调用函数 js.
- 如何在单独的文件中使用自定义Vtype,以便在EXT.JS中全局使用它们
- Angular JS控制器和Factory在单独的文件中
- Angular JS-我可以为选项卡使用单独的控制器来加载窗格吗.这是个好做法吗
- 在单独的js文件中访问web配置
- 通过单独的js文件设置HTML值
- Vue.js"track-by-$index”;,如何单独呈现列表项
- 如何将这个javascript从aspx视图中移出,并放入一个单独的js文件中
- 用jQuery点击一个按钮和一个单独的JS文件,在谷歌地图标记上触发点击事件
- 如何制作一个项目列表,可以使用 Angular JS 单独切换
- jQuery函数放在.js单独的文件上时不起作用