我对 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/