精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

世界上最好用的純前端模板(沒有之一)

開發 前端
隨著Ajax技術的普及,純前端模板的使用頻率越來越高。我們需要一個易學、易用、高性能的模板系統來處理日益繁雜的需求變化。本文就向你推薦一款世界上最好用的純前端模板(沒有之一)。

隨著Ajax技術的普及,純前端模板的使用頻率越來越高。我們需要一個易學、易用、高性能的模板系統來處理日益繁雜的需求變化。

前端模板處理,有90%以上的情況都是在處理html相關字符串,針對這一特性我們設計了一種只包含html和js兩種語法的模板系統AceTemplate。

對于前端開發者,html和js是無需額外的學習成本。

特點

  1. 易學(只需html和js基礎),易用(最少的輸入)
  2. 智能(自動識別語法、標識符)
  3. 擴展便捷

語法

以行為單位,分為兩種html行和js行,自由穿插

判斷是否為html行的規則

◆ 特殊字符開頭;

示例:

  1. 漢字、#{value}、<div> 

◆ Html標記結尾;

示例:

  1. >src="1.gif" /> 

◆ 沒有“雙引號、單引號、分號、逗號,大小括號”,不是else等單行語句;

示例:

  1. hello world 

◆ Html屬性;

示例:

  1. a="12"a='ab' b="cd" 

◆ 樣式表達式。

示例:

  1. div.focus{color: #fff;}、#btnAdd span{} 

html行負責輸出內容

兩種表達式輸出;#{表達式}和!#{表達式}

#{表達式} 采用html字符串編碼輸出,默認規避xss漏洞

!#{表達式} 采用原文字符串編碼輸出

js行負責邏輯處理

方法

format

格式化輸出

  1. /**  
  2.  * 格式化輸出  
  3.  * @param {String|Element} id 模板ID或是模板本身(非標識符將識別為模板本身)  
  4.  * @param {Object} data 格式化的數據  
  5.  * @param {Object} helper 附加數據(默認為模板對象)  
  6.  */  
  7. AceTemplate.format = function(id, data, helper) 

register

注冊模板

  1. /**  
  2.  * 注冊模板,如果沒有參數則是注冊所有script標簽模板  
  3.  * @param {String} id 模板ID  
  4.  * @param {Element|String} target 模板對象或者是模板字符串,如果沒有則默認獲取id對應的DOM對象  
  5.  */  
  6. AceTemplate.register = function(id, target) 

unregister

注銷模板

  1. /**  
  2.  * 注銷模板  
  3.  * @param {String} id 模板ID  
  4.  */  
  5. AceTemplate.unregister = function(id) 

例子

輸入輸出用例

http://ace-engine.googlecode.com/svn/trunk/examples/ace-template/case.html

調試:http://jsfiddle.net/zswang/hA7Jd/

◆ 集中測試。

  1. <html> 
  2.         <head> 
  3.                 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  4.                 <script src="../../scripts/ace-template.js"></script> 
  5.                 <title>ace template examples</title> 
  6.                   
  7.                 <style type="text/css"> 
  8.                         #log{  
  9.                                 width: 600px;  
  10.                                 height: 400px;  
  11.                         }  
  12.                 </style> 
  13.         </head> 
  14.         <body> 
  15.                 <textarea id="log"></textarea> 
  16.                 <script id="t1" type="text/template"> 
  17.                         if (this["title"])   
  18.                         {  
  19.                                 #{title}  
  20.                         }  
  21.                         else  
  22.                         {  
  23.                                 <b></b> 
  24.                         }  
  25.                 </script> 
  26.                   
  27.                 <script> 
  28.                         (function() {  
  29.                                 var log = document.getElementById("log");  
  30.                                 var list = [  
  31.                                         {  
  32.                                                 input: ["#{this}", "<b>b</b>"],  
  33.                                                 output: "&lt;b&gt;b&lt;/b&gt;"  
  34.                                         },  
  35.                                         {  
  36.                                                 input: ["!#{this}", "<b>b</b>"],  
  37.                                                 output: "<b>b</b>"  
  38.                                         },  
  39.                                         {  
  40.                                                 input: ["#{title}#{size}", {  
  41.                                                         title: "t"  
  42.                                                 }],  
  43.                                                 output: "t"  
  44.                                         },  
  45.                                         {  
  46.                                                 input: ["#{title}#{size + 2}", {  
  47.                                                         title: "t"  
  48.                                                 }],  
  49.                                                 error: true  
  50.                                         },  
  51.                                         {  
  52.                                                 input: ["#{1 + 2 + 3 + 4}"],  
  53.                                                 output: "10"  
  54.                                         },  
  55.                                         {  
  56.                                                 input: ["t1"],  
  57.                                                 output: "\t\t\t\t<b></b>\n"  
  58.                                         }  
  59.                                 ];  
  60.                                   
  61.                                 var message = [];  
  62.                                 for (var i = 0; i < list.length; i++) {  
  63.                                         var item = list[i];  
  64.                                         try {  
  65.                                                 var output = AceTemplate.format(item.input[0], item.input[1]);  
  66.                                                 if (output == item.output) {  
  67.                                                         message.push("√" + i + "輸出結果符合預期。");  
  68.                                                 } else {  
  69.                                                         message.push("×" + i + "輸出結果不符合預期。-- " + output);  
  70.                                                 }  
  71.                                         } catch(ex) {  
  72.                                                 if (item.error) {  
  73.                                                         message.push("√" + i + "異常符合預期。");  
  74.                                                 } else {  
  75.                                                         message.push("×" + i + "異常不符合預期。-- " + ex.message);  
  76.                                                 }  
  77.                                         }  
  78.                                 }  
  79.                                 log.value = message.join("\n");  
  80.                         })();  
  81.                 </script> 
  82.         </body> 
  83. </html> 

示例普通循環用法

http://ace-engine.googlecode.com/svn/trunk/examples/ace-template/base1.html

調試:http://jsfiddle.net/zswang/S3rwL/

◆ 模板中的this代表數據本身,即format的data參數;

◆ 邏輯部分用js,輸出部分用html,#{表達式}為變量替換。

示例和jquery混用

http://ace-engine.googlecode.com/svn/trunk/examples/ace-template/base2.html 調試:http://jsfiddle.net/zswang/dehd6/

◆ 邏輯部分和輸出部分將編譯成一個完整的js函數塊。

示例默認防止XSS漏洞

http://ace-engine.googlecode.com/svn/trunk/examples/ace-template/secuity1.html

調試:http://jsfiddle.net/zswang/aXKQA/

◆ 輸出表達式默認采用html編碼;

◆ 也可以使用!#{表達式}輸出原文。

示例嵌套模板

http://ace-engine.googlecode.com/svn/trunk/examples/ace-template/nesting1.html

調試:http://jsfiddle.net/zswang/YJWZA/

◆ 模板中helper是一個附加參數,默認指AceTemplate本身;

◆ 采用不編碼輸出另一個模板渲染結果既實現嵌套。

示例遞歸模板

http://ace-engine.googlecode.com/svn/trunk/examples/ace-template/recursion1.html

調試:http://jsfiddle.net/zswang/JcwHg/

模板中可以調用自身遞歸輸出。

示例關鍵詞

http://ace-engine.googlecode.com/svn/trunk/examples/ace-template/keyword.html

調試:http://jsfiddle.net/zswang/fvLX3/

使用html編碼輸出可以這樣:AceTemplate.format("#{this}", text);

通過helper參數,加入keyword方法

作者微博

http://weibo.com/zswang http://weibo.com/zinkey

原文鏈接:http://code.google.com/p/ace-engine/wiki/AceTemplate

【編輯推薦】

  1. 44個驚人的超炫CSS3動畫演示
  2. 97條架構師須知
  3. JavaScript誕生記:C語言和Self語言一夜情的產物
  4. HTML 5怎么就成了RIA“殺手”?
  5. 10款Firefox插件幫助Web開發者事半功倍
責任編輯:陳貽新 來源: ace-engine
相關推薦

2021-07-05 06:51:42

Python虛擬環境

2018-12-04 15:46:53

編程語言Python

2015-08-11 09:18:44

程序員最好

2022-09-19 21:34:04

PHPFacebook語言

2011-05-24 10:25:21

2019-01-21 05:08:15

IGMPTCPIP

2017-11-29 16:00:42

加班行業無效

2018-11-06 12:22:18

排序算法代碼

2020-11-13 06:35:06

谷歌谷歌相冊移動應用

2013-05-08 09:38:28

InteropNetSDN網絡設備供應商

2018-07-19 19:07:33

語言編程語言程序

2023-07-31 08:59:46

軟件FossilSQLite

2019-11-18 15:07:54

編程語言C#

2014-09-05 09:08:58

2024-07-01 09:23:39

2010-09-02 13:21:46

2013-09-16 11:12:51

編程環境開發

2023-06-28 11:14:18

2013-06-09 08:52:50

哈希表

2025-03-27 00:45:00

點贊
收藏

51CTO技術棧公眾號

国产精品亚洲午夜一区二区三区| 最新国产一区| 一区二区三区av电影 | 高清精品在线| 99久久精品国产麻豆演员表| 日本乱人伦a精品| 91社区视频在线观看| 成人噜噜噜噜| 精品国产成人av| 日韩av高清在线播放| 国产麻豆免费观看| 亚洲欧美日韩国产综合精品二区 | 亚洲人成精品久久久久| 国产一区二区高清视频| 亚洲天堂久久久久| 伊人久久亚洲美女图片| 一区二区在线视频播放| 久草免费资源站| 婷婷综合六月| 一区二区三区四区不卡视频| 欧美主播一区二区三区美女 久久精品人| 在线观看国产精品入口男同| 激情丁香综合| 日韩少妇与小伙激情| 朝桐光av一区二区三区| 少妇高潮一区二区三区99| 婷婷综合另类小说色区| 裸体裸乳免费看| 久久久久久青草| 国产成人鲁色资源国产91色综| 热久久免费国产视频| 国产av无码专区亚洲av毛网站| 一区二区小说| 精品国产乱码久久久久久影片| 国产嫩草在线观看| 韩国精品一区| 又紧又大又爽精品一区二区| 视频在线99re| 飘雪影视在线观看免费观看| 成人视屏免费看| 国产噜噜噜噜久久久久久久久| 国产又色又爽又黄的| 中文字幕一区二区av| 一区二区三区美女xx视频| 日韩精品人妻中文字幕有码| 美女精品视频在线| 欧美人与z0zoxxxx视频| 成人性视频欧美一区二区三区| mm视频在线视频| 亚洲日本韩国一区| 亚洲一区二区三区加勒比| 蜜桃免费在线| 91麻豆精品在线观看| 国产精品美女xx| 国产超碰人人模人人爽人人添| 日韩1区2区日韩1区2区| 日本午夜在线亚洲.国产| 日韩视频免费观看高清| 精品二区久久| 久久久久久久久国产精品| 欧美日韩国产精品综合| 亚洲老妇激情| 欧美成人精品三级在线观看| 好吊日在线视频| 国产精品久久久久久麻豆一区软件| 亚洲图片制服诱惑| 东方伊人免费在线观看| 人人狠狠综合久久亚洲婷| 中文字幕视频在线免费欧美日韩综合在线看| 麻豆av免费观看| 亚洲桃色综合影院| 国产一区二区三区丝袜| 丰满的亚洲女人毛茸茸| 日韩精品首页| 久久久999精品视频| www.5588.com毛片| 欧美亚韩一区| 午夜精品久久久久久99热| 久久夜靖品2区| 玖玖玖国产精品| 国产精品毛片a∨一区二区三区|国| 成人黄色片在线观看| 捆绑变态av一区二区三区| 91精品久久久久久久久中文字幕| 国产精品久久无码一三区| 国产精品综合一区二区| 国产精品xxx在线观看www| 亚洲三区在线观看无套内射| 久久综合99re88久久爱| 性欧美videosex高清少妇| 精品欧美色视频网站在线观看| 亚洲激情综合网| 东北少妇不带套对白| 波多野结衣亚洲| 欧美日韩性生活| 亚洲一区二区图片| 久久99偷拍| 在线色欧美三级视频| 杨钰莹一级淫片aaaaaa播放| 在线播放一区| 国产精品一区av| 亚洲精品一区二区三区不卡| 91免费看片在线观看| 中文字幕人成一区| 日韩伦理在线| 这里只有精品99re| 中文字幕影片免费在线观看| 久久国产电影| 97免费中文视频在线观看| 在线播放一级片| 99久久夜色精品国产网站| 亚洲精品一区二区三| 国产啊啊啊视频在线观看| 欧美性淫爽ww久久久久无| 激情av中文字幕| av永久不卡| 久久久亚洲国产| 中文字幕日本人妻久久久免费 | 极品人妻一区二区| 国产成人精品999在线观看| 久久国产精品偷| 黄色大全在线观看| 9i在线看片成人免费| 无码人妻aⅴ一区二区三区日本| 波多野结衣亚洲| 日韩免费看网站| 日韩av毛片在线观看| 六月丁香综合| 国产精品免费观看高清| 永久免费av在线| 色综合久久中文综合久久97| 台湾佬美性中文| 日本女优一区| 全球成人中文在线| 好吊色在线观看| 国产精品国产三级国产| 精品少妇无遮挡毛片| 精品女人视频| 欧美夫妻性生活xx| 国产精品美女一区| 国产精品乱码一区二区三区软件| 红桃av在线播放| 精品日产乱码久久久久久仙踪林| 久久精品最新地址| 在线观看中文字幕av| 久久久五月婷婷| 91视频最新入口| 免费观看成人www动漫视频| 欧美精品第一页在线播放| 精品国产九九九| 国产精品电影一区二区| 一级黄色特级片| 欧美手机在线| 国产第一区电影| 可以在线观看的黄色| 欧美日韩中文字幕| 97人妻天天摸天天爽天天| av不卡免费看| 精品国产一区二区三区免费| 91在线超碰| 亚洲国产高清福利视频| 国产一卡二卡在线| 99视频一区二区| 波多野结衣家庭教师在线播放| 精品欠久久久中文字幕加勒比| 国模gogo一区二区大胆私拍| 色窝窝无码一区二区三区| 午夜精品国产更新| 中文字字幕码一二三区| 久久这里有精品15一区二区三区| 日产精品久久久一区二区| 国产极品久久久久久久久波多结野 | 国产亚洲一区二区精品| 中文天堂在线资源| 亚洲欧美怡红院| 国产sm在线观看| 国色天香一区二区| 久久久亚洲综合网站| 3d欧美精品动漫xxxx无尽| 中文字幕不卡在线视频极品| 国产又粗又猛视频| 一区二区视频免费在线观看| 成人性生活免费看| 丝袜亚洲精品中文字幕一区| 午夜久久资源| 久久av偷拍| 午夜精品三级视频福利| 黄色网址在线播放| 91精品在线麻豆| 日本亚洲欧美在线| 中文字幕av资源一区| 国产精品久久久久野外| 亚洲深夜福利| 亚洲一区二区三区在线观看视频| 日韩高清一区| 国产99在线|中文| 免费在线午夜视频| 日韩电影中文字幕在线| 在线观看亚洲国产| 亚洲国产综合在线| 调教驯服丰满美艳麻麻在线视频| 国产精品1区二区.| 欧美亚洲国产成人| 亚洲国产精品成人| 欧美一区二区三区在线播放 | 精品三级在线观看视频| 国产精品视频免费在线观看| 高h视频在线播放| 中文国产成人精品| 天天综合网在线观看| 在线电影院国产精品| 三级视频在线观看| 一区二区三区四区在线免费观看| 精品人妻无码一区二区三区| 国产福利一区二区三区在线视频| 蜜桃传媒一区二区三区| 久久久久久久久久久久久久久久久久 | 蜜桃视频在线观看一区| 免费看一级大黄情大片| 五月天久久777| 日韩和欧美的一区二区| 精品成人自拍视频| 97久久夜色精品国产九色| 日本精品在线一区| 日本久久91av| 黑人另类精品××××性爽| 日韩中文字幕网站| 男操女在线观看| 亚洲第一网中文字幕| 国产乱色精品成人免费视频| 欧美性大战xxxxx久久久| 国产午夜福利片| 亚洲六月丁香色婷婷综合久久| av网在线播放| 91在线播放网址| 人妻换人妻a片爽麻豆| 国产美女精品在线| 亚洲另类第一页| 日本不卡的三区四区五区| 日日摸日日碰夜夜爽av| 99伊人成综合| 国产免费黄色一级片| 欧美日韩国产一区精品一区| 国产美女视频免费| 99精品视频精品精品视频| 性欧美videosex高清少妇| 第九色区aⅴ天堂久久香| 欧美一级日本a级v片| 蜜乳av综合| 欧美日韩精品免费观看视一区二区| 国产精品午夜av| 国产精品免费看一区二区三区| 清纯唯美激情亚洲| 99re在线视频上| 欧美午夜在线播放| 超碰97人人人人人蜜桃| av日韩在线播放| 高清视频一区| 国内露脸中年夫妇交换精品| 国外成人在线视频网站| 久久久久久久久久久久久久久久久久久久| 成人免费视频观看视频| ccyy激情综合| 精品日本一区二区三区| 西野翔中文久久精品字幕| 久久久久一区二区三区| 久久不见久久见国语| 视频三区二区一区| 日韩专区精品| 亚洲精品偷拍视频| 欧美区一区二| 五月丁香综合缴情六月小说| 亚洲影视综合| 中文久久久久久| 老色鬼精品视频在线观看播放| 97人人爽人人| 成人免费视频免费观看| 9.1成人看片免费版| 亚洲国产高清aⅴ视频| 91麻豆精品成人一区二区| 夜夜精品浪潮av一区二区三区| 麻豆一区二区三区精品视频| 欧美日韩黄色大片| 久久午夜鲁丝片| 欧美一三区三区四区免费在线看| 亚洲产国偷v产偷v自拍涩爱| 亚洲精品v天堂中文字幕| 高清中文字幕一区二区三区| 久久中文字幕一区| 草草在线视频| 国产精品视频yy9099| 亚洲精品在线a| 你懂的网址一区二区三区| 成人综合一区| 日韩中字在线观看| 麻豆精品一区二区三区| 在线观看欧美一区二区| 久久久影视传媒| 69av视频在线| 色综合一区二区三区| 国产乱淫a∨片免费观看| 日韩精品免费一线在线观看| sese一区| 国模精品系列视频| 国产综合色在线观看| 国产女人水真多18毛片18精品| 欧美精品久久久久久| 99在线免费视频观看| 麻豆精品在线看| 草草地址线路①屁屁影院成人| 日韩毛片在线免费观看| 亚洲欧美另类在线视频| 精品日韩一区二区三区| av在线三区| 97在线视频免费播放| 国产视频网站一区二区三区| 青青成人在线| 99国产精品| 老司机av网站| 国产精品电影一区二区| 无码视频在线观看| 亚洲国产精品久久久久久| 国产激情在线视频| 国产成人精品网站| 四虎影视精品| 成人午夜免费在线视频| 激情综合五月天| 色哟哟精品观看| 天天做天天摸天天爽国产一区| 国产人妖一区二区| 色综合伊人色综合网| 日韩欧美另类一区二区| 国产一区免费观看| 国产精品mm| 日韩精品视频网址| 成人欧美一区二区三区黑人麻豆| 久久久黄色大片| 日韩av最新在线观看| 丰满的护士2在线观看高清| 91精品视频一区| 久久精品亚洲人成影院 | 亚洲精品一级| av在线天堂网| 夜色激情一区二区| 亚洲国产精品无码久久| 久久国产精品视频| 秋霞影院一区| 亚洲小视频在线播放| 国产原创一区二区| 婷婷在线精品视频| 日韩午夜av电影| 91高清在线观看视频| 99久久精品免费看国产一区二区三区| 国产一区二区精品福利地址| 日韩欧美xxxx| 国产视频一区在线观看| 懂色av中文字幕| 中文精品99久久国产香蕉| 国产精品诱惑| 在线观看亚洲视频啊啊啊啊| 精品午夜久久福利影院| 欧洲美女女同性互添| 91精品国产福利| 亚洲wwwww| 国产美女在线精品免费观看| 亚洲精选91| 蜜桃精品一区二区| 欧美在线视频你懂得| 天堂中文а√在线| 成人欧美一区二区三区在线 | 亚洲jizzjizz日本少妇| 在线看片不卡| 亚洲熟女一区二区三区| 一区二区三区在线免费观看 | 亚洲精品一区二区久| 色在线中文字幕| 亚洲aⅴ天堂av在线电影软件| 精品一区二区三区视频| 久久久国产精华液| 精品亚洲一区二区| 日韩福利影视| 国产一区二区片| 久久这里都是精品| 又色又爽又黄无遮挡的免费视频| 欧美成人一区二区三区电影| 红杏aⅴ成人免费视频| 亚洲视频在线观看一区二区三区| 亚洲欧洲日韩在线| 无码精品在线观看| 日韩av中文字幕一区| 欧洲xxxxx| 99热99精品| av资源免费观看| 自拍偷拍亚洲在线| 国产精品sss在线观看av| 在线视频日韩一区 | 男人的天堂在线视频免费观看 | 在线观看色网站| 久久久亚洲欧洲日产国码aⅴ| 欧美日韩国产传媒|