渲染标签内容

自定义标签可以有内容,也可以嵌套使用。本文描述了如何实现一个由开始标签,结束标签和之间的标签内容的自定义标签。

渲染标签内容

我们先实现一个简单的 wrap 标签,它会把内容包装在 <div class="wrapper"></div> 元素里:

1
2
3
{% wrap %}
{{ "hello world!" | capitalize }}
{% endwrap %}

期望输出:

1
2
3
<div class='wrapper'>
Hello world!
</div>

首先 [注册][register-tags] 一个名为 wrap 的标签,把内容解析到 this.tpls 数组里。parse(tagToken, remainTokens) 中,

  • tagToken 是当前 Token `