我的咖啡脚本
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。
裁判