Meteor onRenderded不适用于ironRouter



我的咖啡脚本

Template.shiftDataTable.onRendered ( ->
   App.datatables()
   $('#shift-list-table').dataTable
     pageLength: 10,
     "order":[[0, "asc"]]
   $('.dataTables_filter input').attr('placeholder', 'Search')
)

我的玉石模板

.table-responsive
  table#shift-list-table.table.table-vcenter.table-condensed.table-hover
    thead
      tr
        th Shift Code
        th Shift Type
        th Shift Start Date
    tbody
      each shifts
        tr
          td {{code}}
          td {{type}}
          td {{formatDate createdAt}}

问题是当我使用 ironRouter (Router.go, pathFor) 进入此页面时,onRender 将在渲染之前运行。

当这种情况发生在我身上时,我使用 Tracker.afterFlush()

Template.shiftDataTable.onRendered ( function () {
  Tracker.afterFlush ( function () {
    App.datatables()
    $('#shift-list-table').dataTable
      pageLength: 10,
      "order":[[0, "asc"]]
    $('.dataTables_filter input').attr('placeholder', 'Search')
  });
});

计划在下次刷新期间或稍后在 当前刷新(如果正在进行),毕竟无效 计算已重新运行。该函数将运行一次,而不是 后续刷新,除非再次调用 afterFlush。

裁判

相关内容

  • 没有找到相关文章

最新更新