Meteor - 在初始模板渲染时绑定到元素会引发错误

时间:2015-12-06 19:12:17

标签: 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('reportId'))

   if report.status == 'finalized'
      Session.set('showDistributeReport', true)
   else
      Session.set('showDistributeReport', false)

   $('#status-js').val(report.status)
   $('#report-form-js').parsley()

我一直在使用欧芹,并且没有在其他页面上看到这个问题。任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

我想出了一个解决办法,但我不知道为什么我必须这样做。如果有人有任何输入,那将是伟大的。我不得不采取我设置会话变量的部分并将其移动到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()