示例代码:
<!--[
/* 在模板内定义一个名称为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和片段可以模拟出模板继承的效果,本文档系统的生成过程即是用该功能实现的;