标签 arttemplate 下的文章

使用artTemplate模版引擎

artTemplate 是腾讯公司出品的js模版引擎。laytpl 号称比 artTemplate 还快,这姑且不论了。在使用过 laytplartTemplate 之后,发现2者都有自己的优缺点。

artTemplate模板中不支持全局函数,官方说这是为了安全规范考虑,而laytpl就支持。

20141021101830.jpg

artTemplate 模版不支持全局函数,意味着某些js方法不能直接使用,只能使用 helper 来定义自定义函数。

template.helper('curTop', function (cur_top, i) {
    i = isNaN(parseInt(cur_top))?0:parseInt(cur_top);  //在artTemplate模版中无法使用js原生的isNaN、parseInt等方法
    return i;
});

在模版中这样使用。

<% var i = curTop(cur_top);%>

artTemplate模版解析存在某种缺陷和bug,同样问题也存在于laytpl中。存在if else是大括号匹配闭合问题。

比如:

<% if(a) { %>
a is true
<% } %>
<% else { %>
a is false
<% } %>

这样会报模版引擎错误,只能这样折中解决:

<% if(a) { %>
a is true
<% } else {%>
a is false
<% } %>

- 阅读剩余部分 -