JavaScript 一段 HTMLBars 的 slide

darkbaby123 · 发布于 2014年1月25日 · 最后由 wujichao 回复于 2014年2月03日 · 2926 次阅读
2575

地址见这里:HTMLBars

HTMLBars 是基于 Handlebars 之上的一个模板引擎,它改用生成 dom 而非 string 的方式,在 Handlebars 的基础上提供更灵活语法,和更高的性能。目前这个玩意还在开发中。一旦完成,Ember 将用它替换 Handlebars 。当然它也可以单独使用。

抄段例子更直观:

<!-- This is our ideal, right? -->
<div class="{{foo}}">{{bar}}</div>

<!-- but this is what we have to do in Ember today -->
<div {{bind-attr class="foo"}}>{{bar}}</div>

<!-- With HTMLBars, we get our ideal syntax! -->
<div class="{{foo}}">{{bar}}</div>

更多信息去看 slide 吧,如果对模板引擎的实现原理有兴趣,可以看看这篇 ARCHITECTURE

共收到 9 条回复
1164
jesktop · #1 · 2014年1月25日

这玩意几时完成?

3
lgn21st · #2 · 2014年1月25日

感谢分享。

11222
billy · #3 · 2014年1月25日

没用过Ember, 不过第一个例子的语法不是可以在Handlebars里面直接用吗?

96
jiang_plus · #4 · 2014年1月25日

如果angular的模板引擎单独抽出来用好像也不错

2575
darkbaby123 · #5 · 2014年1月25日

@JeskTop 不知道,今年之内应该有希望,不至于像 Ember Data 一样拖几年…… @billy 普通内容可以,但 class="{{foo}}"" 是不能用的,只能通过 bind-attr helper 去完成。

2575
darkbaby123 · #6 · 2014年1月25日

@billy 突然想起来了,可能单独使用 Handlebars 这样写没问题,但在 Ember 里就不行了,因为 Ember 为了 data binding 会生成 script 标签包裹内容。slide 里面那一堆带 script 的例子就是……

27
numbcoder · #7 · 2014年1月25日

非常期待!

3253
cisolarix · #8 · 2014年2月02日

Ember 模板语言还是跟玩具一样

96
wujichao · #9 · 2014年2月03日

😘

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册