Meteor-在初始模板渲染时绑定到元素会引发错误
我正在使用Meteor、FlowRouter和欧芹进行验证。当我重新加载应用程序并使用表单进入页面时,我收到此错误,并且parsley没有处理表单:Meteor-在初始模板渲染时绑定到元素会引发错误,meteor,parsley.js,flow-router,Meteor,Parsley.js,Flow Router,我正在使用Meteor、FlowRouter和欧芹进行验证。当我重新加载应用程序并使用表单进入页面时,我收到此错误,并且parsley没有处理表单: You must bind Parsley on an existing element. 如果我离开这一页,然后回来,它工作得很好。我有以下代码初始化绑定: Template.report.onRendered -> report = Reports.findOne(_id: FlowRouter.getParam('reportI
You must bind Parsley on an existing element.
如果我离开这一页,然后回来,它工作得很好。我有以下代码初始化绑定:
Template.report.onRendered ->
report = Reports.findOne(_id: FlowRouter.getParam('reportId'))
if report.status == 'finalized'
Session.set('showDistributeReport', true)
else
Session.set('showDistributeReport', false)
$('#status-js').val(report.status)
$('#report-form-js').parsley()
我一直在用欧芹,在其他网页上没有看到这个问题。任何帮助都将不胜感激。我想出了一个解决方案,但我不确定为什么要这么做。如果有人有任何意见,那就太好了。我必须将设置会话变量的部分移到onCreated方法。这就是我现在的代码
Template.report.onCreated ->
report = Reports.findOne(_id: FlowRouter.getParam('reportId'))
if report.status == 'finalized'
Session.set('showDistributeReport', true)
else
Session.set('showDistributeReport', false)
Template.report.onRendered ->
report = Reports.findOne(_id: FlowRouter.getParam('reportId'))
$('#status-js').val(report.status)
$('#report-form-js').parsley()
在空集合上绑定欧芹时,会出现该错误。只需检查一下,嘿@Marc AndréLafortune,奇怪的是,它在第一次进入路线后就能工作。您知道如何检查元素是否存在,如果元素还不存在,则等待它渲染吗?我认为onRendered应该这样做,但它似乎并不总是在那个元素上工作。