模板引擎Crox用法大全(更新版)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>crox</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script src="${base}/js/jquery1.11.min.js"></script>
<script src="${base}/js/crox1.3.1.js"></script>
</head>
<body>
    <div id=‘tt‘>
        转义取值:
        <div>A: {{root.e>2}} - B: {{‘a b\tc‘<4}}</div>
        不转义取值:
        <div>A: {{{root.e>2}}} - B: {{{‘a b\tc‘<‘5‘}}}</div>
        原样输出:
        <div>"{{#raw}}{{root.e>2}}胜多负少{{/raw}}"</div>
        <br> 布尔:
        <div>"{{root.bbb}}"</div>
        [‘‘]取值:
        <div>"{{root[‘没引号‘]}}"</div>
        复合属性:
        <div>"{{root["复合.属性"]}}"</div>
        <br> 声明一个变量 , 并赋值:
        <div>{{set c = root.ee}} c.e: {{c.e}}</div>
        if判断:
        <div>{{#if root.e > root.e+ 1 }} E > E + 1 {{else}} E <= E+ 1 {{/if}}</div>
        遍历对象:
        <div>
            <!--两个 string 会声明一个名字为其值的变量,第一个表示 值,第二个表示 索引 (可选)。  -->
            {{#forin root val index}} {{index}} => {{val}}, {{/forin}}
        </div>
        遍历数组:
        <div>
            <!--也可以用forin  -->
            {{#each root.list val index}} {{index}} => {{val}}, {{/each}}
        </div>
        直接调用js函数或方法:
        <div>{{console.log(root.bb.toUpperCase())}}</div>
        <div>{{empty(root.f,‘amIurs发现新大陆!‘)}}</div>
    </div>
    <hr />
</body>
<script type="text/javascript">
    var data =
            {没引号: ‘没引号ok‘ , ‘有引号‘: ‘有引号ok‘ , "复合.属性": ‘能得到‘ , bb: ‘a b\tc‘ , ee: {d: 3 , e: ‘哈哈‘ ,
            } , e: 3 , f: ‘‘ , bbb: true , null值: null ,
                list: [‘a‘ , ‘b‘ , ‘c‘ , false , null , ‘结束‘]
            };
    $(‘#tt‘).after(crox(‘tt‘ , data));//后期处理

    function crox(ele , data) {
        var source = $(‘#‘ + ele).hide().html();
        var source = source.replace(/&gt;/g , ‘>‘).replace(/&lt;/g , ‘<‘);

        var temp = Crox.compile(source);
        var result = temp(data);//将数据 填充到模板
        console.log(result);

        return ‘<div id=‘+ele+‘-crox>‘ + result + ‘</div>‘;
    }

    function empty(str , val) {
        return str != null && str.toString() != ‘‘ ? str : val;
    }
</script>
</html>
时间: 2024-10-11 12:58:11

模板引擎Crox用法大全(更新版)的相关文章

高性能跨语言模板引擎Crox

http://thx.github.io/crox/ Crox是一个由JavaScript语言实现的高性能跨语言模板引擎.Crox模板可以直接在JavaScript环境中使用,也可以翻译成PHP,JSP等其他编程语言的可执行方法或翻译成Velocity,Smarty等其他模板引擎的源模板,Crox将保证翻译后的结果具备最佳执行效率. 在生产系统中,我们使用的各种前后端模板引擎多有其独到的一面,而Crox的特点即它是面向"跨语言并高性能"这个目标设计的,Crox的设计过程是在模板提供的功

jade模板引擎简明用法

①.特性 首个单词为标签,有一些不能识别的标签可作为code,如each for case if  else if unless zen coding风格添加标签,如 .nb#hello 生成 <div class="nb" id="hello"></div> 缩进必须统一使用tab或space,否则会报错 通过缩进来表示嵌套关系,这个很重要!如 p a   生成 <p><a></a></p>

Node.js开发入门—使用jade模板引擎

在"Node.js开发入门--Express安装与使用"里,我们曾经使用express generator创建了一个HelloExpress网站,express工具为我们生成了基本的目录结构.模板.stylesheet.routers等.虽然那只是一个简单的HelloWorld类的小东西,可里面包含的内容还是有些多了,为了更好的理解Express所支持的jade模板引擎的用法,我们这次提供一个手动创建的小网站,可以显示来访者的IP,并对访问进行计数. 安装jade npm instal

mustache模板引擎

Logic-less templates. github:http://mustache.github.com/ 文档:http://mustache.github.com/mustache.5.html http://mustache.github.io Java 版 Mustache SVN 源码 http://jmustache.googlecode.com/svn mustache 类似  freemark和valicity 模板引擎,不过mustache 更轻量级,支持语言: Ruby

ajax&amp;模板引擎

使用命名空间,来避免命名的ajax函数被重名的覆盖var $_fox_tool = { // 将 我们封装的 函数 保存在 一个 全局 对象的 属性中 ajax_tool_pro: function(object) { var ajaxObj = new XMLHttpRequest(); if (object.method == 'post') { ajaxObj.open(object.method, object.url); ajaxObj.setRequestHeader("Conten

Thymeleaf模板引擎的使用

Thymeleaf模板引擎的使用 一.模板引擎 JSP.Velocity.Freemarker.Thymeleaf 二.springboot推荐使用Thymeleaf模板引擎 特点:语法更简单,功能更强大: 1.引入Thymeleaf <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId

JavaScript模板引擎原理与用法

这篇文章主要介绍了JavaScript模板引擎原理与用法,结合实例形式详细分析了javascript模版引擎相关概念.原理.定义及使用方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下 一.前言 什么是模板引擎,说的简单点,就是一个字符串中有几个变量待定.比如: var tpl = 'Hei, my name is <%name%>, and I\'m <%age%> years old.'; 通过模板引擎函数把数据塞进去, var data = { &q

Win10一周年更新版系统CLSID(GUID)大全

Win10系统的CLSID,也就是GUID,这是区分每个组件的唯一识别码,在注册表中可以查到.这些内容对于一般用户来说可以用来直接进入某个组件,或者创建快捷方式等.现在win10专业版官网整理出Windows10一周年更新版的部分组件CLSID,供大家参考. CLSID大全: 添加网络位置 shell:::{D4480A50-BA28-11d1-8E75-00C04FA31A86} 管理工具 shell:::{D20EA4E1-3957-11d2-A40B-0C5020524153} 所有控制面

js模板引擎之 Handlebars 基本用法

模板引擎比较久远的一个技术,常见的模板引擎有 baiduTemplate(百度)\artTemplate(腾讯)\juicer(淘宝)\doT\ tmpl\ handlebars\ easyTemplate\ underscoretemplate \ mustache \kissytemplate 等等 本篇简单介绍一下Handlebars相关常用例子: Handlebars依赖jq,也可以写不依赖的jq的方式.本教程依赖. Handlebars官方网站:http://handlebarsjs.