【问题标题】:Meteor: Prevent template from re-renderingMeteor:防止模板重新渲染
【发布时间】:2013-09-02 11:28:24
【问题描述】:

所以我有一个页面显示来自 ul 中的集合的一些数据(问题)。

Link to example(随意摆弄,这只是示例数据!)

如果用户单击右下角的按钮,则会显示先前隐藏的 div 和文本区域,以便用户可以发布新问题。这一切都很好。问题是,如果在用户输入新问题时另一个用户发布了新问题,则该用户将被扔回“问题视图”,因为新条目会重新呈现 ul。

我想要的是当前正在输入新问题的用户不会立即看到新问题,因此他可以继续在 div 中的文本区域中输入。 --> 我需要的是一种防止 ul(它的模板)重新渲染的方法。

我尝试了{{#constant}} 并且所有这些东西都查看了that post,但它无法让它工作。

我需要的是一种方法来防止“发布问题”按钮的重新呈现 onclick,当然还有一种在发布问题并且 textarea + 它的 div 再次隐藏后继续重新呈现的方法。

希望大家帮忙!谢谢!

最好的问候P

【问题讨论】:

    标签: javascript meteor rendering handlebars.js


    【解决方案1】:

    我认为没有必要等待呈现新问题,因为对话框无论如何都是不透明的,所以对用户来说不会有什么不同。您只需要确保对话框本身不会被渲染。

    实现方式有以下三种:

    • 仅将 dialog 放在 {{#constant}} 块中。
    • dialogquestion list 放在 {{#isolate}} 块之间。
    • 将对话框和列表放在单独的模板中。这是最可靠的方法,因此值得推荐。

    【讨论】:

    • 非常感谢! {{#isolate}} thingy 完成了这项工作!非常感谢! :)
    【解决方案2】:

    尝试为您的问题添加唯一的 ID:

    id="question_{{_id}}"

    然后流星可以更聪明地了解它正在更新的内容。

    【讨论】:

      猜你喜欢
      • 2014-03-04
      • 2013-11-16
      • 1970-01-01
      • 2014-09-22
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 2018-04-21
      • 2014-01-24
      相关资源
      最近更新 更多