.json νμΌμ μ¬μ©μ μ§μ λ°μ΄ν°λ₯Ό μ¬μ©νκ³ μμΌλ©° λ°μ΄ν°μ νμ΄μ§λ₯Ό λ§€κΈ°κ³ μΆμ§λ§ λͺ¨λ λ°μ΄ν°λ λ¨μΌ νμ΄μ§λ‘ μ 곡λ©λλ€. μ κ·Έλ? μλλ λ΄ μ½λμ λλ€
$http.get('app/user_keys.json').success(function(data) {
vm.data = data;
vm.tableParams = new NgTableParams({ page: 1, count: 2 }, {
total: vm.data.length,
getData: function (params) {
console.log(vm.data.length);
var deferred = $q.defer();
var orderedData = params.sorting() ? $filter('orderBy')(vm.data, params.orderBy()) : vm.data;
deferred.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
});
<table ng-table="vm.tableParams" class="table table-striped" >
<colgroup>
<col width="5%"/>
<col width="30%"/>
<col width="50%"/>
<col width="15%"/>
</colgroup>
<tr ng-repeat="row in vm.data | filter: searchText track by $index">
<td header="'headerCheckbox.html'">
<input type="checkbox" value="row._id" ng-model="vm.checkboxes.items[row._id]" ></td>
<td data-title="'ID'">{{ row.index }}</td>
<td data-title="'Cloud Location'">{{ row.location }}</td>
<td data-title="'Action'"><i class="fa fa-trash"></i></td>
</tr>
</table>
μμ€κ° JSON νμΌμ΄λΌλ μ¬μ€κ³Ό κ΄λ ¨μ΄ μλ€κ³ νμ νμλκΉ?
λ΄ λ°μ΄ν° μμ€κ° μλΉμ€μ΄μ§λ§ λμΌν λ¬Έμ κ° μλ€κ³ μκ°ν©λλ€.
ν΄λΉ μλΉμ€λ μ½μμ λ°ννκ³ ν΄κ²°λλ©΄ κ²°κ³Όλ₯Ό λ°ννκΈ° μ μ μ€λͺ
μμ μ€λͺ
λ λλ‘ params.total()
λ₯Ό μ€μ νμ§λ§ νμ΄μ§ 맀κΉμ μ¬μ ν ββμλνμ§ μμ΅λλ€.
κ·Έλ£Ή λ°μ΄ν°λ₯Ό νμ΄μ§ν λλ κ°μ λ¬Έμ κ° μμ΅λλ€. κ·Έλμ getGroups ν¨μμ λμ μ΄ μ€μ μΆκ°ν©λλ€.
if (!settings.dataOptions.applyPaging) {
return ngTableDefaultGetData(result, params);
}
return ngTableDefaultGetData.applyPaging(result, params);
μ¬μ©λ κΈ°λ³Έ λλ μ¬μ©μ μ μμμ μλνλ νμ΄μ§ 맀κΉ.
μ, μ΄κ²μ #872μμ μΈκΈν κ±°μ λμΌν μ루μ
μ
λλ€. settings.dataOptions.applyPaging
체ν¬κ° μμ μΌλΆ λΌμΈμμ μλμΌλ‘ falseλ‘ μ€μ λμ΄ μκΈ° λλ¬Έμ μ€μνμ§ μ λͺ¨λ₯΄κ² μ΅λλ€.
@fsm3xpert , @tandibar , @ fsm3xpertμμ μ μν μ루μ μ μ μ©νλλ° μλνμ§λ§ μ½μμ λ€μμ΄ νμλ©λλ€.
Possibly unhandled rejection: {}
μ΄λ€ μμ΄λμ΄?
μ’μ μμ νμ΅λλ€. dataOptions
κ° undefined
μΌ μ μκΈ° λλ¬Έμ
λλ€. λ°λΌμ μ½λλ λ€μκ³Ό κ°μμΌ ν©λλ€.
if (settings.dataOptions && !settings.dataOptions.applyPaging) {
return ngTableDefaultGetData(result, params);
}
BTW, ng-tableμ ν₯ν 릴리μ€λ μ€μ²©λ μ€μ κ°(EG
dataOptions)λ μ μλμ§ μμ΅λλ€.
2016λ
12μ 21μΌ μμμΌ μ€ν 7μ 19λΆ, Maria InΓ©s Parnisari <
[email protected]>μ λ€μκ³Ό κ°μ΄ μΌμ΅λλ€.
Ok μμ νμ΅λλ€. dataOptionsκ° μ μλμ§ μμμ μ μκΈ° λλ¬Έμ λλ€. κ·Έλμ μ½λ
ν΄μΌνλ€if (settings.dataOptions && !settings.dataOptions.applyPaging) {
λ°ν ngTableDefaultGetData(κ²°κ³Ό, 맀κ°λ³μ);
}β
μ΄ μ€λ λμ κ°μ νκΈ° λλ¬Έμ μ΄ λ©μμ§λ₯Ό λ°κ³ μμ΅λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ³ GitHubμμ νμΈνμΈμ.
https://github.com/esvit/ng-table/issues/893#issuecomment-268614815 λλ μμκ±°
μ€λ λ
https://github.com/notifications/unsubscribe-auth/AA2HPk4I47xMpIlEbXSDSCMUu0mlGn7Vks5rKXu4gaJpZM4Jagxg
.
λꡬλ μ§ λμ κ°μ λ¬Έμ κ° μλ κ²½μ°λ₯Ό λλΉνμ¬ λΌμ΄λΈλ¬λ¦¬ μ½λλ₯Ό λ³κ²½νλ κ²μ΄ μ΄λ€ μ΄μ λ‘λ μ΅μ μ΄ μλ κ²½μ° ν΄κ²° λ°©λ²μ μ°Ύμμ΅λλ€.
λ¬Έμ λ κ·Έλ£Ήνκ° λ¨μν νμ΄μ§λ λ°μ΄ν°λ₯Ό μ²λ¦¬νκΈ° μν΄ κ΅¬νλμ§ μμ κ² κ°μ΅λλ€. λ΄κ° ν μΌμ μνλ νμ΄μ§μ λν λ°μ΄ν°λ₯Ό κ²μνκ³ λ³μμ μ΄ νλͺ© μλ₯Ό μΊμνλ κ²μ
λλ€.
actualTotal = params.total()
κ·Έλ° λ€μ http://ng-table.com/#/global -customization/demo-response-interceptorsμ μ€λͺ
λ λλ‘ μλ΅ μΈν°μ
ν°λ₯Ό ꡬννμ΅λλ€. μ¬κΈ°μμ μ΄ κ°μ μΊμλ κ°μΌλ‘ λ€μ μ€μ ν μ μμ΅λλ€. μ΄κ²μ νμ΄μ§ νμλ₯Ό μμ ν©λλ€.
ν κ°μ§ λ¨μ μλ λ¬Έμ κ° μμ΅λλ€. μ¬μ©μκ° 1μ΄ μλ λ€λ₯Έ νμ΄μ§λ‘ μ΄λνλ €κ³ νλ©΄ κ·Έλ£Ήνκ° λ€μ μ½λλ‘ λ°μ΄ν° λ°°μ΄μ λΆν ν λ μ무 κ²λ λ³Ό μ μλ€λ κ²μ
λλ€.
var pagedData = data.slice((params.page() - 1) * params.count(), params.page() * params.count());
μ΄μ λν κ°λ¨ν ν΄κ²° λ°©λ²μ λ°μ΄ν°λ₯Ό κ²μνκ³ μ€μ νμ΄μ§λ₯Ό μΊμνκ³ μΈν°μ
ν°μμ μ¬μ€μ ν ν getData ν¨μμμ νμ΄μ§λ₯Ό 1λ‘ μ€μ νλ κ²μ
λλ€.
μ μλ μμ μ¬νμ μ μ©ν ν νν°λ§μ΄ μλμ λ©μ·μ΅λλ€. μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ μμ μ€μμ dataOptions
λ₯Ό λ€μκ³Ό κ°μ΄ μ€μ ν΄μΌ νμ΅λλ€.
settings.dataOptions = { applyPaging: false, applyFilter: false };
μ΄ μμ μ¬νμ μ΅μ λ²μ μμ μ¬μ©ν μ μμ΅λκΉ? κ·Έλ μ§ μμ κ²½μ° μΆκ°ν΄μΌ νλ νμ μμ΅λλ€.
λ§μ§λ§ λ²μ μμλ μ¬μ©ν μ μμ΅λλ€.
μ΄ μ½λ μΉμ
μ μμ νλ©΄ μλν©λλ€.
if (sortDirection) {
var orderByFn = ngTableDefaultGetData.getOrderByFn();
var orderBy = util_1.convertSortToOrderBy({
value: sortDirection
});
result = orderByFn(result, orderBy);
}
return ngTableDefaultGetData.applyPaging(result, params);
μ΄κ²μΌλ‘:
if (sortDirection) {
var orderByFn = ngTableDefaultGetData.getOrderByFn();
var orderBy = util_1.convertSortToOrderBy({
value: sortDirection
});
result = orderByFn(result, orderBy);
}
if (sortDirection) {
var orderByFn = ngTableDefaultGetData.getOrderByFn();
var orderBy = util_1.convertSortToOrderBy({
κ°: sortDirection
});
κ²°κ³Ό = orderByFn(κ²°κ³Ό, orderBy);
}
if (!settings.dataOptions.applyPaging) {
return ngTableDefaultGetData(κ²°κ³Ό, 맀κ°λ³μ);
}
return ngTableDefaultGetData.applyPaging(κ²°κ³Ό, 맀κ°λ³μ);`
κ°μ₯ μ μ©ν λκΈ
μ’μ μμ νμ΅λλ€.
dataOptions
κ°undefined
μΌ μ μκΈ° λλ¬Έμ λλ€. λ°λΌμ μ½λλ λ€μκ³Ό κ°μμΌ ν©λλ€.