博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSRender模板一
阅读量:5966 次
发布时间:2019-06-19

本文共 3549 字,大约阅读时间需要 11 分钟。

hot3.png

 JSRender之内置的模板标签

(一)  JsRender模板,被称为"下一代jQuery模板",为高性能的、纯粹基于字符串的呈现做了优化,并且不依赖于DOM或jQuery。在JsRender中,是通过调用方法render()来渲染模板的,换句话说,就是在Html文件中使用java script来输出html模板的内容。

一、什么是JsRender?

JsRender是一个简单、直观,强大、易扩展、轻量的最优UI模板。

换句话说,就是在Html文件中使用java script来输出html模板的内容。

 

二、附件是最新的jsrender.js和jsrender.min.js(2013/07/27),如果想下载最新的jsrender.js和jsrender.min.js,可以去官方文档下载:

二、玩转JsRender

内置的模板标签(Built-in template tags)

 

1. {

{: ...}}:用于输出"..."部分指定的数据,“...”部分是数据来源的路径或者是一个数据表达式,例如:{
{:address.street}}

 

例子:

html代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %>    测试  <%@ include file="/global/commonPage/includeHead/head.jsp" %>  
  
  
    
          
姓名      
性别      
薪资      
电话            
      
  
    
          
姓名            
      <%--定义jsrender模板--%>
     
{ {:name}}

 其中:在jsRender中,#xxx 表示当前view的 xxx 属性, - 所以 #index 就是view.index

{

{:#index}}

在JsRender中,是通过调用方法render()来渲染模板的。JsRender中,有三种方式调用render()方法来渲染模板。这其中用了两种,还一种方法是通过名字注册的template,如:

 $.templates("templ","#theTmpl");  $("#result2").html($.render.templ(data1));

运行结果如下

111039_D6c1_2415525.png


 2. {

{>...}} 用于输出encoded的html。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>    测试  <%@ include file="/global/commonPage/includeHead/head.jsp" %>  
  
  
    
          
姓名      
性别      
薪资      
电话            
      <%--定义jsrender模板--%>
     
{ {:name}} 
{ {>name}}

运行结果:

114259_yEUt_2415525.png

3. {

{include tmpl=... /}} 标签用于组合模板(template composition) -----用于在一个模板中引入另一个模板,并用上下文的数据来渲染template。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>    测试  <%@ include file="/global/commonPage/includeHead/head.jsp" %>  
  
  
    
          
姓名      
性别      
薪资      
电话            
      <%--定义jsrender模板--%>
 
{ {:anmont.pay}}
      
{ {:#index}}:{ {:name}}          
{ {:sex}}         { {include tmpl="#theTmpl"/}}          
{ {:phone}}

运行结果

121127_IJlC_2415525.png

 4. {

{for ...}}遍历数组和对象,他会自动遍历第一层的内容。可以看前面1、{
{:}},输出数据的介绍。

{

{for··}}遍历多层数据

<%@ page contentType="text/html;charset=UTF-8" language="java" %>    测试  <%@ include file="/global/commonPage/includeHead/head.jsp" %>  
  
  
    
            
门店名称        
门店地址        
订单人姓名        
订单人电话        
产品价格        
产品数量        
支付金额            
      <%--定义jsrender模板--%>
 
{ {:anmont.pay}}
       
{ {:storeName}}          
{ {:storeAdress}}          { {for cont}}          
{ {:productName}}          
{ {:productPhone}}           { {for orderDaties}}                
{ {:amont}}                
{ {:productNum}}                
{ {:productPrice}}        { {/for}}        { {/for}}  

运行结果

092743_Ou4o_2415525.png

5. 条件表达式{

{if··}},用于渲染数据表达式为true时的模板. 一般用于如下几种情况:

1) {

{if pathOrExpr}}...{
{/if}} 用于渲染满足条件的内容。

2) {

{if pathOrExpr tmpl=nameOrExpr /}}用于渲染外部包含的模板。

 3) {

{if ...}}...{
{else}}...{
{/if}}

      {

{if pathOrExpr}...{
{else}}...{
{/if}}

      {

{if pathOrExpr1 tmpl=nameOrExpr1 }}{
{else tmpl=nameOrExpr2 }}{
{/if}}

 

 4) {

{if ....}}...{
{else ...}}...{
{else}}...{
{/if}}

     {

{if pathOrExpr1}}...{
{else pathOrExpr2}}...{
{else}}...{
{/if}

列:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>    测试  <%@ include file="/global/commonPage/includeHead/head.jsp" %>  
  
  
    
            
姓名        
性别        
薪资            
      <%--定义jsrender模板--%>
   { {if pay > 10000}}      
        { {else}}      
    { {/if}}          
{ {:#getIndex()}}:{ {:name}}          
{ {:sex}}          
{ {>pay}}        

运行结果:

094242_ZhlT_2415525.png

还有一些其他的条件表达式:

表达式
举例 注释
|| {
{ :a || b }}
&& {
{ :a && b }}
! {
{ :!a }}
<= 和>=和 <和 > {
{ :a <= b }}
比较
=== 和 !== {
{ :a === b }}
等于和不等于

6. jsrender定义模板中样式,也可以使用html结构定义标签,例如:style:height,width。color等等。

 

转载于:https://my.oschina.net/u/2415525/blog/490027

你可能感兴趣的文章
bootstrap - navbar
查看>>
切图崽的自我修养-[ES6] 编程风格规范
查看>>
服务器迁移小记
查看>>
FastDFS存储服务器部署
查看>>
Android — 创建和修改 Fragment 的方法及相关注意事项
查看>>
swift基础之_swift调用OC/OC调用swift
查看>>
Devexpress 15.1.8 Breaking Changes
查看>>
ElasticSearch Client详解
查看>>
mybatis update返回值的意义
查看>>
expdp 详解及实例
查看>>
通过IP判断登录地址
查看>>
深入浅出JavaScript (五) 详解Document.write()方法
查看>>
Beta冲刺——day6
查看>>
在一个程序中调用另一个程序并且传输数据到选择屏幕执行这个程序
查看>>
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
查看>>
关于在VS2005中编写DLL遇到 C4251 警告的解决办法
查看>>
提高信息安全意识对网络勒索病毒说不
查看>>
使用Jquery 加载页面时调用JS
查看>>
css+div+jquery弹出层
查看>>
求职相关(链接,不定期更新)
查看>>