博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
artTemplate使用
阅读量:7220 次
发布时间:2019-06-29

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

bower install artTemplate --save

快速上手

模板定义:

 

<div id="content"></div>

<script id="test" type="text/html">
    {
{if isAdmin}}
        <
h1>{
{title}}</
h1>
        <
ul>
            {
{each list as value i}}
                <
li>索引 {
{i + 1}}
{
{value}}</
li>
            {
{/each}}
        </
ul>
    {
{/if}}
</
script>

 

function(item,index)

数据绑定

 

语法说明

1. 版本

有两个版本的模板语法可以选择

简洁语法

推荐使用,语法简单实用,利于读写,使用template.js。

{
{if admin}}     {
{include 'admin_content'}}     {
{each list}}         
{
{$index}}. {
{$value.user}}
    {
{/each}} {
{/if}}

 

原生语法

使用template-navative.js

 

<%if (admin){%>     <%include('admin_content')%>     <%for (var i=0;i
        
<%=i%>. <%=list[i].user%>
    <%}%> <%}%>

2. 显示属性

#代表属性不转义,会按照原始串输出,如果是标签会被解析成dom

{
{#title}}

3. 判断

{
{if isAdmin}}    

{
{title}}

{
{/if}}
{
{if isAdmin}}    

{
{title}}

{
{else}}    
{
{message}}
{
{/if}}
{
{if type==1}}    

{
{title}}

{
{/if}}

4. 循环

{
{each list as value i}}    
  • 索引 {
    {i + 1}} :{
    {value}}
  • {
    {/each}}
    {
    {each list}}    
  • 索引 {
    {$index}} :{
    {$value}}
  • {
    {include ‘test’ }} {
    {/each}}
    {
    {each data}}             {
    {$value.agent_name}}         {
    {$value.agent_id}}         {
    {$value.type}}                     {
    {each $value.items}}                 {
    {$value}}
                {
    {/each}}            {
    {/each}}

    5. 引入

    引入id为list的模板

    {
    {include 'list'}}

    模板定义

    6. 使用type=“text/html”的script标签

    7. 使用js的变量存储模板

    var source = '
      ' +    '{
      {each list as value i}}' +        '
    • 索引 {
      {i + 1}} :{
      {value}}
    • ' +    '{
      {/each}}' + '
    ';
    var source = '\         
      \           {
      {each list as value i}}\            
    • 索引 {
      {i + 1}} :{
      {value}}
    • \           {
      {/each}}\        
    \         ';

    方法

    注意:各个方法传递的数据必须是具有属性的对象,不能是数组

    {data:{}} 或者{data:[]}

    8. template(id, data)

    根据 id 渲染模板。内部会根据document.getElementById(id)查找模板。

    如果没有 data 参数,那么将返回一渲染函数。

      9. template.compile(source)

      template.compile()接收模板字符串,会返回一个函数,使用该函数传入数据构建html

        //var html= template.compile(source)(data);     document.querySelector('#list').innerHTML=html; 

        10.     template.helper(name, callback)

        添加辅助方法。

           

           

          handerbar

           

          这种方式的的缺点是,模板通过字符串拼接,不好维护,适合简单模板。

          转载于:https://www.cnblogs.com/xiangqianjin/p/6600674.html

          你可能感兴趣的文章
          c#中英文混合字符串截取指定长度
          查看>>
          .NetCore应用多个target framework
          查看>>
          pdfminer获取整页文本
          查看>>
          windows服务器多端口Redis安装步骤
          查看>>
          第二次作业心得
          查看>>
          爬虫——请求库之requests
          查看>>
          android子线程更新UI,与主Thread一起工作
          查看>>
          50行实现简易HTTP服务器
          查看>>
          细讲递归(recursion)
          查看>>
          进程和进程间通信
          查看>>
          微处理器的两种结构比较
          查看>>
          ORACLE EXPIRED(GRACE)
          查看>>
          Markdown应用样例
          查看>>
          多文本框的值得存放和赋值
          查看>>
          Linux中计划任务执行脚本crontab-简洁版
          查看>>
          Java - IO
          查看>>
          安卓app中嵌入一个H5页面,当手机系统设置字体变大时,如何使H5页面的字体不会随用户自己调整的系统字体变化而变化?...
          查看>>
          safari 收藏导出 手机safari 导出
          查看>>
          Dalvik 虚拟机 jvm 区别
          查看>>
          hexo从零开始
          查看>>