在每一個重複的功能,我有以下關係:分類< --->產品(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