`
achun
  • 浏览: 315350 次
  • 性别: Icon_minigender_1
  • 来自: 河南郑州
社区版块
存档分类
最新评论

jCT 第三版简要文档,此文档已经废弃,留作历史

    博客分类:
  • jCT
阅读更多

JavaScript Common Templates 第三版简要文档

文档文法描述 :

对于要描述的对象使用如下文法
name:type||example description

调用 :创建一个jCT的实例,此实例具有自己解析/执行模板的能力

var jct = new jCT(txt,path);

参数 :

txt:"" 模板原文本对应属性Fn.Src

path:"" 模板文件的url所在路径(不是url)对应属性Fn.Path

建立 :解析模板使模板代码化

jct.Build([如果直接执行,传入执行的数据对象])

例子 :

jct.Build(obj) 


同效果

jct.Build().Exec(obj);

注意:如果带参数的话,是否执行Exec会受ReBuild扩展影响,参见ReBuild扩展

执行 :执行模板,默认返回模板执行后的文本数据,可以通过 Exec 扩展语法制定

jct.Exec([执行的数据对象])

默认参数 :

D 如果没有制定Exec扩展语法的话,此参数是 Exec 的默认参数,表示传入的数据

保留字串 :

/*...*/ 再使用Exec扩展语法时用于替换主体过程的占位符

jCT的实例保留方法和属性 :

  Fn={             用于保留jCT实例创建,执行时的数据,有些是为了方便调试
    A:[]           SRC的模板数组形式表示
    D:{}           用于保留执行(Exec)模板时候传入的参数
    V:[]           在执行(Exec)模板过程当中生成结果的数组形式
    EXEC:[]        Build模板的时候生成的主体过程数组形式
    RUN:()         由 Run 扩展语法获得的只运行一次函数
    ERROR:{}       Build异常时的错误信息.
    Path:""        保留模板的URL路径,由调用模板的函数提供,目的是考虑到这个可能会有很多的用途。
    Src:""         模板原文本,由调用模板的函数提供
    src:""         经过清理后的模板文本
    Tag:{          当前选定的模板标签风格,是一个指向Tags内某个风格的引用,结构如下
      block:{      jCT模板块标记设定
        begin:""   标记的开始字符串
        end:""     标记的结束字符串
      }
      exp:{}       jCT模板取值表达式设定
      ext:{}       jCT模板扩展语法标记设定,参见见扩展语法一节
      clean:{}     jCT模板清理标记设定
    }
    Tags:{         所有支持的模板标签风格,内置三种风
      comment:{    //注释标签风格
        block:{begin:''},
        exp:{begin:'+-',end:'-+'},
        ext:{begin:'/*+',end:'*/'},
        clean:{begin:'',end:''}
      },
      script:{     //脚本标签风格
        block:{begin:'',end:''},
        exp:{begin:'+-',end:'-+'},
        ext:{begin:'/*+',end:'*/'},
        clean:{begin:'',end:''}
      },
      code:{       //code标签风格
        block:{begin:'',end:''},
        exp:{begin:'+-',end:'-+'},
        ext:{begin:'/*+',end:'*/'},
        clean:{begin:'',end:''}
      }
    }
    Clean:()       清理模板,参数对应属性的TAG
    Parse:()       模板的解析
    Slice:()         模板分段函数
  }
  Exec:()          执行模板,参见Exec扩展
  Build:()          构建模板方法
  ReBuild:()     在Build期间执行,参见ReBuild扩展
  GetView:()    便捷的获取 return this.Fn.V.join("");

扩展语法 :jCT模板使用的是原生的 JavaScript 语法,为了达到模板的高度可制定性设计了扩展语法

 

  Exec:            自定义的构建 Exec 方法的主体内容
    <script type="jct">/*+Exec*/
      var D=arguments[0]||{};
      /*...*/
      $('#mainbody').html(this.GetView());
    </script>
    <script type="jct">/*+Exec*/
      var D=arguments[0]||{};
      with(D){/*...*/}
      $('#mainbody').html(this.GetView());
    </script>
  ReBuild:      当执行Build时发生,如果定义了ReBuild并且有任何值返回,Build都会忽视传入的参数
    下面的例子没有返回值,那么会执行foo(),如果使用jct.Build(obj),那么jct.Exec(obj)会被执行
    <script type="jct">/*+ReBuild*/
      foo();
    </script>
    下面的例子有返回值,那么会执行foo(),如果使用jct.Build(obj),那么jct.Exec(obj)不会被执行
    <script type="jct">/*+ReBuild*/
      foo();
      return true;
    </script>

  Run:            扩展语法获得的只运行一次
    <script type="jct">/*+Run*/
      foo();
    </script>
  Child:           定义一个子jCT实例
    <script type="jct">/*+Child childname*/</script>
      Templates Source Code
    <script type="jct">/*-Child childname*/</script>
  /*...*/:             保留字串也可以算作扩展语法,只能出现在 Exec扩展语法中

 

(因为贴在代码里格式较整齐,所以就利用了一下)

分享到:
评论
1 楼 achun 2008-07-11  
http://ne.16lo.com/?entry=achun
第3版的内测站,还是nicEditor打包工具,
打包没有开始做,还是围绕jCT在干活.

相关推荐

Global site tag (gtag.js) - Google Analytics