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 规范
8. **文档和源代码**:压缩包中的`jct_doc.zip`可能是JCT工具包的API文档,对于理解和使用JCT非常有帮助。`jct_src.zip`则可能包含JCT的源代码,供开发者学习和自定义扩展。 9. **安全标准和协议**:JCT可能遵循了...
JCT 2558-2020 规范
标准 JCT174-2005无碱玻璃纤维带
标题中的“PDF文档-JCT682-1997水泥胶砂试体成型振实台.zip”指的是一份关于水泥胶砂试体成型振实台技术标准的压缩文件,其中包含了一份PDF文档,详细介绍了JCT682-1997年制定的相关规范。这份标准是中国建筑材料...
JCT 2177-2021 硅藻泥装饰壁材
JCT 621-2021 硅酸盐建筑制品用生石灰
JCT 为java开发者提供实用、方便、简洁的加密和解密相关的工具代码。1.0版提供Blowfish,SHA与MD5数字摘要,PBE基于口令的加密,RSA算法工具类,使这些算法更容易在编成中使用.文件包中含源码、文档、class包WDSsoft:...
JCT 2041-2020 聚氨酯灌浆材料
JCT 1017-2020 建筑防水材料用聚合物乳液
JCT 618-2019化学解析方法
JCT 620-2021 石灰取样方法
JCT 60006-2020 瓷砖薄贴法施工技术规程
JCT 2560-2020 结构密封胶
JCT 2561-2020 金属复合板
JCT 949-2021 混凝土制品用脱模剂
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 1057-2021 玻璃纤维增强水泥(GRC)外墙板
JCT 2604-2021 仿石型混凝土面板和面砖
JCT 2602-2021 预应力混凝土U形板桩