我在这里有一个难题,我为不能复制和粘贴代码作为内部公司的东西而道歉。我会尝试在不显示代码的情况下尽力解释。
假设我有一个充满HTML和一些轻量级逻辑({#if}
语句)的Handlebars页面。问题是,HTML位之间散布着很多if / else / etc语句。这可能很好,除了在each
循环内,我现在必须引入一些超出Handlebars允许的逻辑(基本上我需要检查循环的当前迭代的索引[if index] > 4然后..])。所以现在我必须将我的逻辑编码到Handlebars帮助器中,但我现在还必须将所有HTML带入帮助程序代码中! e.g:
if @isSomeVar?
output += '<p class="something">'
else
output += '<p class="something-else" data-stuff="Some Data">'
output += if @myVar? then @myVar else 'A hardcoded string'
output += '</p><div class="info">'
因为Handlebars是无逻辑的,因为它想要保持干净,所以我必须将HTML移动到我的.coffee代码中,这有点违背了分离代码的全部目的。呈现!
我的解决方案在世界上是什么?