datatables未在meteorjs中更新

datatables未在meteorjs中更新,meteor,datatables,jquery-datatables,meteorite,Meteor,Datatables,Jquery Datatables,Meteorite,我正在使用meteorjs开发一个应用程序。我对流星是完全陌生的。在我的应用程序中,我使用带有meteor的数据表进行短缩、分页和搜索。 这是我的模板代码 <template name="questions"> <div class="col-md-3"> {{#constant}} <table class="table table-striped table-bordered table-condensed table-h

我正在使用meteorjs开发一个应用程序。我对流星是完全陌生的。在我的应用程序中,我使用带有meteor的数据表进行短缩、分页和搜索。
这是我的模板代码

<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>
}

我的问题是,当我将问题添加到数据库时,它似乎不在模板上。并生成一个异常。我知道这是因为数据表。文档更新时,数据表不会更新。我尝试了许多stackoverflow的例子,但无法解决这个问题。我尝试动态追加行,但它总是给我一个警告。而且它似乎做得不对。我可以动态地从元素中删除数据表吗?我们将不胜感激 编辑:


我尝试先清空表,然后再将数据添加到表中。但是在这里,它会清空表,以便不再添加数据。

您使用的是
{{constant}
区域。这将禁用模板该部分的反应性


尝试摆脱固定区域,使用meteor--release template-engine-preview-5.5运行meteor。这将使用新的进行中模板引擎meteor UI运行meteor。Meteor UI中没有
constant
s或
preserve
s-它足够聪明,可以在细粒度级别进行DOM更改,因此它应该可以与诸如jQuery插件之类的东西一起开箱即用。

我在这里使用constant,因为我在表中有一些链接。如果我不在这里使用
{{constant}
,所有链接都将被禁用。而且
看起来是空的,没有任何数据或链接,我使用的是meteor 6.6模板引擎预览版5.5,比当前的meteor版本0.6.6.3更新。正如Meteor文档所说,“即使重新呈现封闭模板,
#常量
块辅助对象中的内容也会保持原样。”。这意味着没有反应性。你需要等待新的模板引擎或者使用预览版,就像我说的。好吧,但是当我使用meteor——release template-engine-preview-5时。它不会在模板上显示任何内容。表示它呈现一个空白模板。您仍在使用常量区域吗?
Template.questions.rendered = function () {
$("#content_listing-table").dataTable();
}

Template.questions.questions = function () {    
return Meteor.questions.find({topic_id: Session.get("currentTopicId")})
 $('#content_listing-table').dataTable().fnClearTable();
 $('#content_listing-table').dataTable().fnAddData(Meteor.questions.find().fetch());