1. 程式人生 > 實用技巧 >雜項 ----模板引擎

雜項 ----模板引擎

簡單使用:
  1.匯入 <script src="template-web.js"></script>
  2.提供需要替換的內容,在type選擇text/html,並把要替換的地方用{{}}括起來

<script type="text/html" id="tp1">
    <div>
        <span>姓名:{{name}}</span>
        <span>年齡:{{age}}</span>
    </div>
</script>            

  3.替換template方法中,第一個位置為模板編號,第二個為要替換的物件(如data是name:‘張三’)

1 <script>
2     var data={
3         name : '張三',
4         age : 30
5         }
6     var html = template('tp1',data);
7     //在佈局中體現出來
8     document.getElementById('container').innerHTML=html
9 </script>        
View Code

其他語法:
  1.@:
    如果是 name : <b>'張三'</b>,即想通過b標籤加粗張三,就需要{{@name}},否則就會把b標籤顯示出來

  2.if:
    {{if XXX}}內容{{/if}} 滿足顯示內容,也可以在中間加入{{else}}
    {{if v1}}內容1{{else if v2}}內容2{{/if}} 如果滿足v1顯示內容1,如果滿足v2顯示內容2
  3.迴圈:
    data=[{name:'張三'},{name:'李四'}],
    {{each targe}}
      {{$index}}{{$value}}
    {{/each}}
  在需要迴圈的地方加,如:
  {{each data}}
  <div>
    <span>姓名:{{$value.name}}</span>
  </div>
  {{/each}}
4.匯入自定義方法

 1 <div>$imports.dataFormat(time)</div> #使用,要在template方法前使用
 2 //如果方法在全域性變數下就可以直接使用,如果方法不在全域性變數下,需要匯入就像下面
 3 
 4 template.defaults.imports.變數名 = 變數值;
 5 $imports.變數名稱
 6 
 7 function dateFormat(未格式化的原始時間){
 8 return '已經格式化好的當前時間'
 9 }
10 
11 template.defaults.imports.dateFormat = dateFormat;
12 <div>$imports.dataFormat(time)</div>

PS:

獲取ID時應該是 {{$value._id}} 記得加斜槓
為了防止表單自動提交應該return false

分類的批量刪除

上傳圖片的過程:

 1 // 當管理員選擇檔案的時候 觸發事件(點選選擇按鈕鍵 input)
 2 $('#feature').on('change', function () {
 3 // 獲取到管理員選擇到的檔案
 4 var file = this.files[0];
 5 // 建立formData物件 實現二進位制檔案上傳
 6 var formData = new FormData();
 7 // 將管理員選擇到的檔案追加到formData物件中
 8 formData.append('cover', file);
 9 // 實現文章封面圖片上傳
10 
11 $.ajax({
12     type: 'post',
13     url: '/upload', --------------------圖片上傳是upload
14     data: formData,
15     // 告訴$.ajax方法不要處理data屬性對應的引數
16     processData: false,
17     // 告訴$.ajax方法不要設定引數型別
18     contentType: false,
19     success: function (response) {
20         console.log(response)
21         $('#thumbnail').val(response[0].cover);
22     }
23 })
24 });