SodaRender 是轻量级的模板引擎。当前只支持 IE9,Chrome 和移动端的所有浏览器。
SodaRender语法源自于AngularJS,前端框架Abstract.js已经内置SodaRender引擎,SodaRender引擎应用于腾讯手机QQ中,已被证实是一款优秀的模板引擎
用法示例:
html>head>title>SodaRender Examapletitle>head>div>ul id="targetUl">script type="text/soda" id="dataList">li soda-repeat="item in list" soda-if="item.show">{{item.name}}li>script>ul>div>html> var templateStr = document.getElementById("dataList").innerHTML; var target = document.getElementById("targetUl"); var data = { list: [ {name: "A"}, {name: "B"} ] }; var result = sodaRender(templateStr, data); target.appendChild(result);
sodaRender USING : SodaRender(String templateStr, Object data) DESCR : Using templateStr with data to render template RETURN: DOM Fragment the DOM Frament Object has a method innerHTML which will return the rendered HTML code. Meanwhile, you can use it like a common DOM Node, such as appending it to your target node. sodaFilter USING : SodaFilter(String filterName, Function func(input, args…)) DESCR : Defining Filters, so you can use filters in template
USING : SodaRender(String templateStr, Object data) DESCR : Using templateStr with data to render template RETURN: DOM Fragment the DOM Frament Object has a method innerHTML which will return the rendered HTML code. Meanwhile, you can use it like a common DOM Node, such as appending it to your target node.
USING : SodaFilter(String filterName, Function func(input, args…)) DESCR : Defining Filters, so you can use filters in template
template-like)Template Language (AngularJs Template Like)
added)More directives have been added
out put expressions {{item.name + 1}}
out put expressions
{{item.name + 1}}
soda-repeat=”item in array” soda-repeat=”item in array track by index” soda-repeat=”(key, value) in object”
soda-repeat=”item in array”
soda-repeat=”item in array track by index”
soda-repeat=”(key, value) in object”
USING : SodaRender(String templateStr, Object data) DESCR : Using templateStr with data to render template
soda-if=”item.show”
soda-class=”currItem === ‘list1’ ? ‘active’ : ‘’“
soda-src=”hello{{index}}.png”
soda-bind-html=” click “
soda-bind-html=”
click
“
soda-style=”style”
soda-rx=”{{rx}}%”
{{input|filte1:args1:args2…|filter2:args…}} how to define filters? Just using sodaFilter Method as methioned above. Here is an example. sodaFilter(‘shortTitle’, function(input, length){ return (input || ’‘).substr(0, length); }); Template below div soda- repeat=”item in list”>div class=”title”>{{item.title|shortTitle:10}}div>div>
{{input|filte1:args1:args2…|filter2:args…}} how to define filters? Just using sodaFilter Method as methioned above. Here is an example.
sodaFilter(‘shortTitle’, function(input, length){ return (input || ’‘).substr(0, length); });
Template below
div soda-
repeat=”item in list”>div class=”title”>{{item.title|shortTitle:10}}div>div>