Iron Router路由条目数据检索功能运行两次

时间:2016-05-25 22:40:43

标签: meteor iron-router

我是Meteor的新手(以及完整的堆栈JS开发)并尝试转换我目前在Django / Python上运行Google App Engine的应用程序。

我使用Iron Router输入以下路线:

this.route("editFacility", {
  path: "/facilities/:_id/edit",
  template: "editFacility",
  data: function() {
    return Facilities.findOne({ _id: this.params._id });
  }
});

...以及以下模板(使用autoform的quickform):

<template name="editFacility">
  <h2>Edit facility "{{description}}"</h2>
  <div class="row">
    <div class="col-md-12">
      {{> quickForm
        collection="Facilities"
        omitFields="createdAt, updatedAt"
        doc=this
        id="updateFacilityForm"
        type="update"
        template="bootstrap3-horizontal"
        label-class="col-sm-2"
        input-col-class="col-sm-6"}}
    </div>
  </div>
</template>

路线由以下方式触发:

{{#linkTo route='editFacility' _id=this._id class="btn btn-default btn-xs"}}Edit{{/linkTo}}

最初看起来表单没有填充数据,但在路由的debugger函数中放置data:语句显示该函数实际上运行了两次。第一次找到文件并正确填写表格,然后立即第二次没有查找,从而清除表格。堆栈没有显示任何细节,并且两次运行看起来都相同:

enter image description here

我搜索了这个问题并找到了一些参考文献,但没有一个明确的解决方案。我已将meteor及我的所有套餐更新为最新版本最大但这个问题仍然存在。

所以我的问题是什么导致meteor / Iron Router两次执行此路由条目?

1 个答案:

答案 0 :(得分:1)

好像您错过了包列表中的包autopublish。它负责发布服务器中的每个可用数据。否则,您需要编写出版物,然后在客户端中进行订阅。