Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

250
Visualizações
No capturado (en promesa) TypeError: this.getChildrem no es una función

tengo lo siguiente:

 getitem: function(){ $this.users = $data.data; $this.users = $this.users.filter( function(item) { if(item.status === true ) { if( item.children.length > 0 ){ item.children = this.getChildrem(item.children, true); } return item; }}); }, getChildrem: function(node, estatus){ $children = node.filter( function(item) { if(item.status === estatus ) { if( item.children.length > 0 ){ item.children = this.getChildrem(item.children, estatus); } return item; }}); return $children; },

esta es una función recursiva simple, solo obtengo todos los elementos (padres e hijos) con el estado 'verdadero' pero tengo este error:

 Uncaught (in promise) TypeError: this.getChildrem is not a function

¿Por qué estoy recibiendo este error?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Cuando define la función que pasa a node.filter , this contexto cambia. Puede evitar esto pasando una función de flecha en su lugar, o usando .bind .

Entonces, en lugar de

 getChildrem: function(node, estatus){ $children = node.filter( function(item) {

prueba esto:

 getChildrem: function(node, estatus){ $children = node.filter( (item) => {
about 4 years ago · Juan Pablo Isaza Relatório

0

Es porque la función de devolución de llamada está usando el alcance global, mientras que ese objeto está en un alcance diferente

 var obj = { test(){ (function(){console.log(this);})(); //Prints global object (()=>{console.log(this);})(); // prints local object } }

Debería cambiar esa función normal a una función de flecha, porque la función de flecha capturará el alcance adjunto

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda