在每一个重复的功能,我有以下关系:分类< --->产品(1-N基数)调用使用NG-重复
这是在NG-重复指令HTML表格
<tr ng-repeat="category in categories">
<td>{{category.name}}</td>
<td>{{products[category.id]}}</td>
</tr>
所以我需要做的是,当每一次重复列表中选择类别,该类别将被立即发送到getAllProductsByCategory()函数,然后$ http服务将得到所有产品属于这个特定的类别。
我试图使用ng-init指令为了执行该功能,但我认为这不是正确的方式来使用它。有没有更好的方法来做到这一点?
<tr ng-repeat="category in categories" ng-init="getAllProductsByCategory(category)">
<td>{{category.name}}</td>
<td>{{products[category.id]}}</td>
</tr>
这是函数,将按照类别获得所有产品
$scope.getAllProductsByCategory = function(category){
$http("getAlProductsByCategory"+category.id){
.success(function (data, status, headers, config) {
$scope.products[category.id] = data;
})
.error(function (data, status, header, config){
$log.error("Error");
});
}
谢谢你,但我不知道如何在控制器中拆分数组,以便将每个对象传递给getAllProductsByCategory(category)。请与我分享任何相关的例子。 – wilson
不是类别已经是一个数组吗?或者至少是一个枚举,你可以在其中为每个元素调用一些东西,例如lodash https://lodash.com/,但我的观点是你应该调用一个函数,它一次返回所有产品,而不是创建一个发布每个类别并从中获取开销。想象一下你有2000个类别。你真的会打2000个电话给服务器? – TigOldBitties
请参阅此代码http://plnkr.co/edit/KMz09pJORmtflcl948kU?p=preview – wilson