You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

syntax-simple.md 1.9 KiB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. # artTemplate 简洁语法版
  2. ## 使用
  3. 引用简洁语法的引擎版本,例如:
  4. <script src="dist/template.js"></script>
  5. [下载](https://raw.github.com/aui/artTemplate/master/dist/template.js)
  6. ## 表达式
  7. ``{{`` 与 ``}}`` 符号包裹起来的语句则为模板的逻辑表达式。
  8. ### 输出表达式
  9. 对内容编码输出:
  10. {{content}}
  11. 不编码输出:
  12. {{#content}}
  13. 编码可以防止数据中含有 HTML 字符串,避免引起 XSS 攻击。
  14. ### 条件表达式
  15. {{if admin}}
  16. <p>admin</p>
  17. {{else if code > 0}}
  18. <p>master</p>
  19. {{else}}
  20. <p>error!</p>
  21. {{/if}}
  22. ### 遍历表达式
  23. 无论数组或者对象都可以用 each 进行遍历。
  24. {{each list as value index}}
  25. <li>{{index}} - {{value.user}}</li>
  26. {{/each}}
  27. 亦可以被简写:
  28. {{each list}}
  29. <li>{{$index}} - {{$value.user}}</li>
  30. {{/each}}
  31. ### 模板包含表达式
  32. 用于嵌入子模板。
  33. {{include 'template_name'}}
  34. 子模板默认共享当前数据,亦可以指定数据:
  35. {{include 'template_name' news_list}}
  36. ## 辅助方法
  37. 使用``template.helper(name, callback)``注册公用辅助方法:
  38. ```
  39. template.helper('dateFormat', function (date, format) {
  40. // ..
  41. return value;
  42. });
  43. ```
  44. 模板中使用的方式:
  45. {{time | dateFormat:'yyyy-MM-dd hh:mm:ss'}}
  46. 支持传入参数与嵌套使用:
  47. {{time | say:'cd' | ubb | link}}
  48. ## 演示例子
  49. * [基本例子](http://aui.github.io/artTemplate/demo/basic.html)
  50. * [不转义HTML](http://aui.github.io/artTemplate/demo/no-escape.html)
  51. * [在javascript中存放模板](http://aui.github.io/artTemplate/demo/compile.html)
  52. * [嵌入子模板(include)](http://aui.github.io/artTemplate/demo/include.html)
  53. * [访问外部公用函数(辅助方法)](http://aui.github.io/artTemplate/demo/helper.html)
  54. ----------------------------------------------
  55. 本文档针对 artTemplate v3.0.0+ 编写