JavaScript Common Templates 第三版简要文档
文档文法描述
:
对于要描述的对象使用如下文法
name:type||example description
调用
:创建一个jCT的实例,此实例具有自己解析/执行模板的能力
var jct = new jCT(txt,path);
参数
:
txt:"" 模板原文本对应属性Fn.Src
path:"" 模板文件的url所在路径(不是url)对应属性Fn.Path
建立
:解析模板使模板代码化
jct.Build([如果直接执行,传入执行的数据对象])
例子
:
jct.Build(obj)
同效果
jct.Build().Exec(obj);
注意:如果带参数的话,是否执行Exec会受ReBuild扩展影响,参见ReBuild扩展
执行
:执行模板,默认返回模板执行后的文本数据,可以通过 Exec 扩展语法制定
jct.Exec([执行的数据对象])
默认参数
:
D 如果没有制定Exec扩展语法的话,此参数是 Exec 的默认参数,表示传入的数据
保留字串
:
/*...*/ 再使用Exec扩展语法时用于替换主体过程的占位符
jCT的实例保留方法和属性
:
Fn={ 用于保留jCT实例创建,执行时的数据,有些是为了方便调试
A:[] SRC的模板数组形式表示
D:{} 用于保留执行(Exec)模板时候传入的参数
V:[] 在执行(Exec)模板过程当中生成结果的数组形式
EXEC:[] Build模板的时候生成的主体过程数组形式
RUN:() 由 Run 扩展语法获得的只运行一次函数
ERROR:{} Build异常时的错误信息.
Path:"" 保留模板的URL路径,由调用模板的函数提供,目的是考虑到这个可能会有很多的用途。
Src:"" 模板原文本,由调用模板的函数提供
src:"" 经过清理后的模板文本
Tag:{ 当前选定的模板标签风格,是一个指向Tags内某个风格的引用,结构如下
block:{ jCT模板块标记设定
begin:"" 标记的开始字符串
end:"" 标记的结束字符串
}
exp:{} jCT模板取值表达式设定
ext:{} jCT模板扩展语法标记设定,参见见扩展语法一节
clean:{} jCT模板清理标记设定
}
Tags:{ 所有支持的模板标签风格,内置三种风
comment:{ //注释标签风格
block:{begin:''},
exp:{begin:'+-',end:'-+'},
ext:{begin:'/*+',end:'*/'},
clean:{begin:'',end:''}
},
script:{ //脚本标签风格
block:{begin:'',end:''},
exp:{begin:'+-',end:'-+'},
ext:{begin:'/*+',end:'*/'},
clean:{begin:'',end:''}
},
code:{ //code标签风格
block:{begin:'',end:''},
exp:{begin:'+-',end:'-+'},
ext:{begin:'/*+',end:'*/'},
clean:{begin:'',end:''}
}
}
Clean:() 清理模板,参数对应属性的TAG
Parse:() 模板的解析
Slice:() 模板分段函数
}
Exec:() 执行模板,参见Exec扩展
Build:() 构建模板方法
ReBuild:() 在Build期间执行,参见ReBuild扩展
GetView:() 便捷的获取 return this.Fn.V.join("");
扩展语法
:jCT模板使用的是原生的 JavaScript 语法,为了达到模板的高度可制定性设计了扩展语法
Exec: 自定义的构建 Exec 方法的主体内容
<script type="jct">/*+Exec*/
var D=arguments[0]||{};
/*...*/
$('#mainbody').html(this.GetView());
</script>
<script type="jct">/*+Exec*/
var D=arguments[0]||{};
with(D){/*...*/}
$('#mainbody').html(this.GetView());
</script>
ReBuild: 当执行Build时发生,如果定义了ReBuild并且有任何值返回,Build都会忽视传入的参数
下面的例子没有返回值,那么会执行foo(),如果使用jct.Build(obj),那么jct.Exec(obj)会被执行
<script type="jct">/*+ReBuild*/
foo();
</script>
下面的例子有返回值,那么会执行foo(),如果使用jct.Build(obj),那么jct.Exec(obj)不会被执行
<script type="jct">/*+ReBuild*/
foo();
return true;
</script>
Run: 扩展语法获得的只运行一次
<script type="jct">/*+Run*/
foo();
</script>
Child: 定义一个子jCT实例
<script type="jct">/*+Child childname*/</script>
Templates Source Code
<script type="jct">/*-Child childname*/</script>
/*...*/: 保留字串也可以算作扩展语法,只能出现在 Exec扩展语法中
(因为贴在代码里格式较整齐,所以就利用了一下)
分享到:
相关推荐
JCT 2557-2020 规范
JCT 2558-2020 规范
标准 JCT174-2005无碱玻璃纤维带
PDF文档-JCT682-1997水泥胶砂试体成型振实台.zip
JCT 60006-2020 瓷砖薄贴法施工技术规程
JCT 621-2021 硅酸盐建筑制品用生石灰
JCT 1017-2020 建筑防水材料用聚合物乳液
JCT 620-2021 石灰取样方法
JCT 2561-2020 金属复合板
本标准规定了汽车后窗电热玻璃透射比,不透明率,耐清晰剂性,电极片焊接强度,电插片抗弯曲性,功率,除霜效率,超压性,热点温度,耐电热冲击性,耐盐雾性,电热线抗磨性,防潮湿性,耐久性,抗冲击性和碎片状态的...
JCT 618-2019化学解析方法
JCT 2604-2021 仿石型混凝土面板和面砖
《环氧树脂地面涂层材料》JCT-1015-2006.doc
JCT 949-2021 混凝土制品用脱模剂
JCT 1057-2021 玻璃纤维增强水泥(GRC)外墙板
Report of Subjective Test Results of Responses to the Joint Call for Proposals (CfP) on Video Coding Technology for High Efficiency Video Coding (HEVC)所应用的测试序列
JCT 60003-2019
JCT 2567-2020
JCT 2569-2020
JCT 850-2021 水泥用铁质原料化学分析方法