os dados do roteador de ferro não estão acessíveis dentro do JS
-
21-12-2019 - |
Pergunta
Meu modelo está renderizando dados OK sem nenhum problema, mas se eu tentar acessá-los dentro do meu script JS, recebo nulo ou indefinido...Aqui está meu código
roteador de ferro
@route 'responder',
path: '/quesabesde/:_screenName'
yieldTemplates:
responderContent:
to: "mainContent"
responderHeader:
to: "mainHeader"
waitOn: ->
@subscribe 'getPreguntas', @params._screenName
data: ->
Preguntas.findOne({owner: @params._screenName})
Script de modelo com resultado NULL
Template.responderContent.rendered = ->
console.log(@data)
Modelo HTML FUNCIONANDO
{{#each level}}
<h1>{{title}}</h1>
{{/each}}
E eu entendo null
no console...mas como eu disse, meu modelo está funcionando bem.Quero acessar dados dentro do meu script para definir sessões e manipular os dados para outros fins
Solução
Este é um fenômeno documentado (embora muitas vezes indesejável).Eu recomendo fortemente a leitura esse, especialmente a partir de 19 de novembro.Observe que a solução mais fácil é ter um modelo de carregamento.
Outras dicas
Use this.data não apenas dados, esta é uma instância do seu modelo no retorno de chamada renderizado