示例代码:
<!--[ /* 在模板内定义一个名称为fragment的模板片段,使用#关键字定义 */ // 定义一个名称为fragment的模板片段 #fragment { /* 类似JavaScript的弱类型声明方式,也可以一次性声明义多个 */ // 声明一个名称为name片段参数 arg name; // 声明一个名称为key、一个名称为value片段参数 arg key, value; // 其它语句...... } /* 本模板内调用模板片段可以使用@关键字加模板名称 */ // 调用本模板内名称为fragment的模板片段,无参数 @fragment(); // 调用本模板内名称为fragment的模板片段并直接传参 @fragment({'value': 'value'}); // 调用本模板内名称为fragment的模板片段并使用表达式作为模板片段参数,表达式结果需是map类型 var value={'value': 'value'}; @fragment(value); /* 如需调用其它模板内的片段则需要使用include指令,下面先给出几个例子,具体请参考模板引入及布局*/ // 调用xxxx.html模板内名称为fragment的模板片段,无参数 include('xxxx.html#fragment'); // 调用xxxx.html模板内名称为fragment的模板片段并直接传参 include('xxxx.html#fragment', {'value':'value'}); // 调用xxxx.html模板内名称为fragment的模板片段并使用表达式作为模板片段参数,表达式结果需是map类型 var param={'value': 'value'}; include('xxxx.html#fragment', param); ]-->
注意事项:
1、一个模板内可以定义多个片段,使用#关键字,可以在任何地方使用@关键字调用片段; 2、片段可以接受参数,参数使用arg关键字声明,详情请参考参数声明; 3、模板不仅可以使用@关键字调用本模板内声明的片段,也可以通过include调用其它模板内的片段,调用时可传参。 4、高级功能:使用include和片段可以模拟出模板继承的效果,本文档系统的生成过程即是用该功能实现的;