[TOC]
# 插件-t 模板渲染
提供模板工具.快速操作html和數據,不再拼接字符串啦
## 特性
* 極其快速
* 自定義定界符 (custom delimiters)
* 運行時求值 (runtime evaluation)
* 運行時插值 (runtime interpolation)
* 編譯時求值 (compile-time evaluation)
* 支持局部模板
* 支持條件語句
* 數組迭代器
* 編碼
* 控制空白字符 - 全去或保留
* 流式友好 (streaming friendly)
* 輕邏輯或者重邏輯,由你決定
## 使用方法
### 全自動版本
1.準備一下模板
```html
<div id="append-to-here">
希望把內容放在這里
</div>
<script type="text/html" id="test" target="#append-to-here" position="replace">
<strong>user:{{= t.user }}</strong>
<p>tel:{{= t.tel }}</p>
<p>time:{{= t.time }}</p>
</script>
```
2.根據節點生成模板
```javascript
// 讀取生成模板
var tmpl = v.t('#test')
// 把數據傳遞給模板,進行自動渲染吧
tmpl.render({user:'vace',tel:18800000000,time:new Date()})
```
### 純手動版本
```javascript
// 模板字符串
var tmplStr = '<p><strong>user:{{= t.user }}</strong><strong>user:{{= t.tel }}</strong></p>'
// 讀取生成模板
var tmpl = v.t(tmplStr)
var result = tmpl.render({user:'vace',tel:18800000000,time:new Date()})
document.querySelector('#append-to-here').innerHTML = result
```
## API 以及說明
* `{{ }}` 用于求值(evaluation)
* `{{= }}` 用于插值(interpolation)
* `{{! }}` 用于編碼求值
* `{{# }}` 用于編譯時求值/引入和局部模板
* `{{## #}}` 用于編譯時定義
* `{{? }}` 條件語句
* `{{~ }}` 數組迭代
## 例子
### 例子1
**模板**
```html
{{ for(var prop in it) { }}
<div>{{=prop}}</div>
{{ } }}
```
**數據**
```json
{
"name":"Jake",
"age":31,
"mother":"Kate",
"father":"John",
"interests":[
"basketball",
"hockey",
"photography"
],
"contact":{
"email":"jake@xyz.com",
"phone":"999999999"
}
}
```
**結果**
```html
<div>name</div>
<div>age</div>
<div>mother</div>
<div>father</div>
<div>interests</div>
<div>contact</div>
```
### 例子2
**模板**
```html
{{? it.name }}
<div>Oh, I love your name, {{=it.name}}!</div>
{{?? it.age === 0}}
<div>Guess nobody named you yet!</div>
{{??}}
You are {{=it.age}} and still don't have a name?
{{?}}
```
**數據**
```javascript
{"name":"Jake","age":31}
```
**結果**
```html
<div>Oh, I love your name, Jake!</div>
```
### 例子3
**模板**
```html
{{~it.array :value:index}}
<div>{{=value}}!</div>
{{~}}
```
**數據**
```json
{"array":["banana","apple","orange"]}
```
**結果**
```html
<div>banana!</div><div>apple!</div><div>orange!</div>
```
- 前端篇
- 常用知識點
- 表單處理
- 前后端分離
- 提供模板渲染工具
- 頁面優化
- css3動畫部分
- 前端工程與模塊化框架
- 服務器XML標簽用法
- 微信JSSDK
- 小技巧
- 純CSS實現自適應正方形
- 通用媒體查詢
- css 黑科技
- H5性能優化方案
- 10個最常見的 HTML5
- 常見坑
- 資源收集
- 前端組件化開發實踐
- 應用秒開計劃
- AJAX API部分
- 靜態資源處理優化
- 后端篇
- 微信對接與管理
- 微信消息處理
- API插件開發
- Plugin開發
- 后端插件開發
- 組件開發
- XML標簽開發
- RESTFUL設計
- Admin GUI
- 設計篇
- 設計規范
- 微信開發庫v.js
- 使用方法
- 微信JSSDK集成
- 調試面板使用
- 插件-http功能
- 插件-layer彈出層
- 插件-music 音樂播放器
- 插件-store 本地存儲
- 插件 emitter 事件管理器
- 插件-shake 搖動功能
- 插件-lazyload 延遲加載
- 插件-t 模板渲染
- 插件-ani 動畫功能
- 插件-is 類型偵測器
- 插件-ease 緩動函數庫
- 插件-os 設備檢測
- 插件 $ 類Jquery插件
- 插件-md5 散列計算
- 插件-svg動畫loading
- 后臺頁面成功GUI
- 列表渲染List
- 表單生成Config
- 樹狀列表Tree
- 排序操作Sort
- Js 風格指南
- Vuep
- 內置動畫庫
- 組件庫
- 內置插件庫
- PSD自動切圖