Oi, pessoal,
Estou tentando preencher minha tabela de dentro de uma chamada .then()
de uma promessa retornada por um serviço separado, por exemplo:
function populateTable() {
MyService.retrieve()
.then( (response) => {
vm.myTableData = new NgTableParams({
count: 10,
page: 1
}, {
total: response.length,
getData: ($defer, params) => {
// some other stuff, further filtering etc.
params.total(response.length);
$defer.resolve(response);
}
});
})
.catch($log.log);
}
Ele me diz que: $defer.resolve is not a function
.
E se eu consolar os argumentos $defer
e params
, descubro que params
é indefinido e $defer
é o valor real de params
deve ser.
Em outras palavras, getData é executado com apenas um argumento e esse é o argumento de parâmetros.
Então, tento usar apenas params
e retornar minha resposta de forma síncrona, ou seja:
total: response.length,
getData: (params => {
params.total(response.length);
return response;
}
E isso retorna meus dados sem erros, mas agora a paginação não funciona (recebo os botões, mas eles não fazem nada e a página é apenas meu conjunto de dados inteiro).
Então ... estou perdido. Toda a documentação e exemplos online dizem que eu deveria usar $defer
, mas por que então não estaria disponível?
Alguma ideia?
O problema aqui é que o wiki aqui está desatualizado - está documentando uma versão antiga do ng-table.
Dê uma olhada nos exemplos para documentos mais atualizados.
Verifique também o CHANGELOG.md, pois ele detalha as mudanças importantes que aconteceram no último ano.
Ah ok. Isso é terrivelmente confuso quando alguém está apenas tentando implementá-lo pela primeira vez e não está observando de perto os logs de alterações. Os documentos serão atualizados em breve?
Espero gerar um documento de API a partir das definições de texto digitalizado.
Nesse ínterim, o wiki deve ser excluído em minha opinião. Dessa forma, o único lugar que alguém vai olhar é o site oficial de exemplos
Comentários muito úteis
Espero gerar um documento de API a partir das definições de texto digitalizado.
Nesse ínterim, o wiki deve ser excluído em minha opinião. Dessa forma, o único lugar que alguém vai olhar é o site oficial de exemplos