轻量级artTemplate引擎 实现前后端分离—语法篇(实战)

通过本系列文章,你将获得以下问题的答案:
1、什么是前后端分离
2、如何用artTemplate实现前后端分离
3、SpringMVC 实现后端 rest 接口
4、彻底解决ajax跨域访问
5、效果演示、demo源码下载

语法篇

上篇文章主要介绍了前后端分离与不分离的区别和优缺点;以及如何安装Node、运行demo;本篇文章主要讲解artTemplate的基本语法;

一、下载

可以直接下载源码阅读。

链接:http://pan.baidu.com/s/1eR2v8x8 密码:cl2w

结构如下
轻量级artTemplate引擎 实现前后端分离—语法篇(实战)_第1张图片

如果没有下载源码,可以在“二、阅读源码”中查看

二、阅读源码

grammarModule.html


 lang="utf-8">

 http-equiv="Content-Type" content="text/html; charset=utf-8" />

    

    
    

1、取值语法

style="border-bottom: 1px solid #CCC;"> {{content}}
{{#content}}
{{person.name}}-{{person.age}}

2、逻辑语法

style="border-bottom: 1px solid #CCC;"> {{if flag}} 我是Flag
{{/if}} {{if !flag}} 我不是Flag
{{/if}} {{if index == 0 }} index = 0 {{else if index > 0 && index < 5}} index 大于 0 并且 index 小于 5 {{else}} index = {{index}} {{/if}}

3、遍历语法(index,指下标)

style="border-bottom: 1px solid #CCC;"> {{each personList as person index}}
  • {{index}} : {{person.name}} - {{person.age}}
  • {{/each}}

    4、子模板嵌套

    style="border-bottom: 1px solid #CCC;"> {{include './grammarSub'}}

    5、辅助方法

    style="border-bottom: 1px solid #CCC;"> {{s1 | append:s2}}




    grammarSub.html

    
    {{if subData}}
        {{subData.content}}
    {{#subData.content}}
    {{subData.person.name}}-{{subData.person.age}}
    {{/if}}

    grammar.html

    
     lang="utf-8">
        
             http-equiv="Content-Type" content="text/html; charset=utf-8" />
             type="text/javascript" src="./res/js/jquery-1.11.3.min.js">
            
             type="text/javascript" src="./res/js/jquery.jsonp.js">
    
            
             type="text/javascript" src="./template/build/template.js">
    
            
             type="text/javascript" src="./grammar.js">
        
    
        
            
             id="grammarModuleDIV">

    grammar.js

    
    /**
     * 将系统使用的js放在这个文件中,避免了将js的代码写到HTML中
     */
    jQuery(document).ready(function($){ //页面加载完成,自动执行
    
        var data = { //参考 grammarModule.html中语法
                //取值语法
                "content":"hello world",
                "person":{"name":"王阳明","age":21},
    
                //逻辑语法
                "index":4,
    
                //遍历语法
                "personList":[
                              {"name":"王阳明","age":21},
                              {"name":"朱熹","age":30},
                              {"name":"程颢","age":50}
                              ],
    
                //子模板嵌套
                "subData":{
                    "content":"hello world",
                    "person":{"name":"王阳明","age":21},
                },
    
                //辅助方法
                "s1":'hello ',
                "s2":"world"
        };
    
        //辅助方法
        template.helper('append', function (str1, str2) {
            return str1 + str2;
        });
    
        var gmHTML = template('grammarModule',data); //动态获取的
        $('#grammarModuleDIV').html(gmHTML);
    
    });
    三、下篇文章将介绍:

    1)SpringMVC提供后台接口,并部署在Tomcat服务器

    2)前端frontDemo部署在Apache服务器

    3)解决跨域访问问题(如果前后端都部署在tomcat中,不存在此问题)


    作者: qicong88 
    链接:http://www.imooc.com/article/20293
    来源:慕课网
    本文原创发布于慕课网 ,转载请注明出处,谢谢合作!

    你可能感兴趣的:(前端)