我正在使用meteorjs处理应用程序。我对流星来说是全新的。在我的应用程序中,我使用带有流星的dataTables进行缩短,分页和搜索 这是我的模板代码
<template name="questions">
<div class="col-md-3">
{{#constant}}
<table class="table table-striped table-bordered table-condensed table-hover listing"
id="content_listing-table">
<thead>
<tr>
<th>Questions</th>
</tr>
</thead>
<tbody>
{{#each questions}}
<tr>
<td>
<a href="#" data-id={{_id}} class="edit"> {{questionSubString question_text}}</a>
</td>
</tr>
{{/each}}
</tbody>
</table>
{{/constant}}
</div>
</template>
我的流星代码是
Template.questions.rendered = function () {
$("#content_listing-table").dataTable();
}
Template.questions.questions = function () {
return Meteor.questions.find({topic_id: Session.get("currentTopicId")})
}
我的问题是当我向数据库添加一个问题时,它似乎不在模板上。并生成一个例外。我知道这是因为数据表。文档更新时,数据表不会更新。我尝试了很多来自stackoverflow的例子,但无法摆脱这个问题。我尝试通过动态追加行但它总是给我一个警告。它似乎没有做正确的方法。我可以动态地从元素中删除数据表吗?帮助将不胜感激 编辑:
$('#content_listing-table').dataTable().fnClearTable();
$('#content_listing-table').dataTable().fnAddData(Meteor.questions.find().fetch());
我试图先将表格清空,然后再将数据添加到表格中。但是这里是因为没有再添加数据而清空表格。
答案 0 :(得分:1)
您正在使用{{constant}}
区域。这会禁用模板中该部分的反应性。
尝试摆脱你的恒定区域并使用meteor --release template-engine-preview-5.5
运行流星。这将使用新的,进行中的模板引擎Meteor UI运行meteor。 Meteor UI中没有constant
或preserve
- 它足够聪明,可以在细粒度级别上进行DOM更改,因此它应该与jQuery插件等开箱即用。