javascript - 如何刷新 Handlebars 模板上下文/数据?

标签 javascript templates template-engine handlebars.js

我对 javascript 模板和 Handlebars 还很陌生。我有这样的事情:

<script id="group-container" type="text/x-handlebars-template">
    <fieldset class="group-container">
        <legend>Set {{set_number}}</legend>
        {{>hook_selector}}
        <button type="button" class="delete-gcontainer-button btn">{{text_blocks.buttons.delete_set}}</button>
    </fieldset>
</script>

该模板将被实例化多次。每次set_number数据值加1,所以我们就有了set 1,set 2,等等。

那么,用户可以删除一个集合。但是,如果他有 3 组并删除第二组,那么他最终会得到组 1 和组 3。所以我想更新 set_number,以便用户将看到组 1 和组 2。换句话说,实时订购。

现在,我可以简单地使用 Handlebars 机制之外的某种 js 例程来完成此操作,但我想知道是否有一些内置方法或至少有一些首选方法来解决这个(我认为非常常见)问题。

最佳答案

以我的思维方式,这种类型的关注确实属于模板之外。我可以看到当用户启动操作时模板中的逻辑可能是最初触发的,但我不认为模板可以正确执行除此之外的任何操作。也许模板发出信号,设置超时或类似的东西,以导致必要的逻辑开始发生......显示更新逻辑,也就是说,这将是异步的......但我不认为这样的事情适本地成为模板的“关注点”,因为他们应该是执行模板的人。

以我的思维方式,模板可以包含一些更新“自身”所需的逻辑,并且以非常直接的方式。如果要做什么的决定,我们可以说,上下文......“取决于更大的图景”......对我来说,那么这真的不再是"template"应该关心的问题直接处理。我只是认为模板的关注点或多或少应该以“我的一小段 HTML”开始和结束。

所以,坦率地说,我不会寻找“在 Handlebars 上做这个”。而且,这只是的观点。

关于javascript - 如何刷新 Handlebars 模板上下文/数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31211155/

相关文章:

c++ - <::上的 gcc TemplateClass<::GlobalSymbol> 错误

javascript - 即使在回发后也保持用户选中单选按钮处于选中状态

python - 如何在Cheetah for Python中正确使用多维字典?

javascript - 如何在安装应用程序时获取访问权限而不是在使用时请求权限

c++ - 如何在 C++ 模板声明中声明函数

java - JSP 类似于简单文本的模板

javascript - 当前最好的 Javascript 模板引擎是什么?

Scala-IDE/IntelliJ::对 Scala、Play 等的模板支持

javascript - python或JS可以隐藏视频嵌入源吗?

javascript - 无法在 IE 中将函数从一个窗口传递到另一个窗口