Meteor onRendered与ironRouter不兼容

时间:2015-04-23 03:28:04

标签: meteor iron-router meteor-blaze onrender

我的coffeescript

DataTemplate

我的玉模板

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

   $('.dataTables_filter input').attr('placeholder', 'Search')
)

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

1 个答案:

答案 0 :(得分:0)

当我遇到这种情况时,我会使用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,否则后续刷新。

Ref