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

105
Visualizações
El modelo EmberJS de la ruta devuelve indefinido en el controlador

¿Alguien me puede ayudar con la siguiente duda?

Estoy usando la versión EmberJS 3.4 y tengo una ruta que parece

 export default Route.extend({ model(){ const items = [{price: 10}, {price: 15}] return items }, });

y un controlador que devuelve indefinido para el modelo

 export default Controller.extend({ init(){ console.log(this.model); //returns undefined console.log(this); //has the model object as a property }, })

ver esta imagen que contiene salida

Por alguna razón, this.model devuelve undefined pero cuando registro "this", tiene el objeto modelo como la propiedad enumerada.

Mi pregunta es, cuando accedo al modelo dentro de una propiedad calculada, ¿por qué la propiedad no está indefinida?

exportar controlador predeterminado.extender ({

 subtotal: computed('this.model', function(){ return this.model.reduce((acc, item) => { return acc + item.price },0) // return 25 }), })
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Los controladores son singletons, por lo que no puede acceder al modelo en init .

cuando accedo al modelo dentro de una propiedad calculada, ¿por qué la propiedad no está indefinida?

Acceder a propiedades calculadas (y en ember más moderno, captadores nativos) es la única forma de tener un acceso reactivo a la propiedad del model . Esta "reactividad" mantiene todos sus datos sincronizados, y en Ember 3.4, las devoluciones de llamada de los computadores no se invocan hasta que también se resuelven las dependencias).

Más información

  • sobre los controladores: https://guides.emberjs.com/release/routing/controllers/#toc_where-and-when-to-use-controllers (documentos actuales (4.3 en el momento de escribir este artículo))
  • sobre propiedades calculadas: https://guides.emberjs.com/v3.4.0/object-model/computed-properties/#toc_computed-properties-only-recompute-when-they-are-consumed (documentos de 3.4)

Por alguna razón, this.model devuelve undefined pero cuando registro "this", tiene el objeto modelo como la propiedad enumerada.

esto sucede porque registra un object , y los objetos en la consola no se copian a la consola, la referencia se procesa, por lo que si no es lo suficientemente rápido, todos los datos se resolverán / liquidarán en el momento en que los vea.

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