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

90
Visualizações
How to make a custom class iterable in Pug?

So, I have this custom paginator class, and in it I have implemented the methods [Symbol.iterator] and forEach:

class MyPaginator<T>{

  items: T[]

  //...

  [Symbol.iterator](){
    return this.items[Symbol.iterator]();
  };

  forEach(callback: (item: T, index: number) => void): void {
    return this.items.forEach(callback);
  }

  //...
}

With this, I can iterate through it in "normal" code with

for(let element of paginator) {}
// or
paginator.forEach(elements => {})

But apparently pug does not use any of those for it's each iterator, because this does not work:

ul
  each element in paginator
    li
      // something

Although this works:

ul
  each element in paginator.items
    li
      // something

Is there anything I can implement in my class so that I'm able to iterate through it in Pug without needing the .items?

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

0

You can use each-of with Symbol.iterator if you are using pug >= 3.

ul
  each item of paginator
    li= item
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