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

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

ylbtech-TModJS:使用tmodjs

 

1.
1、

1、安装

npm install -g tmodjs

2、配置

我的模板都放在tpl文件夹中,htmls用于存放模板页面,每一个后缀名都是.html,而build用于存放编译后输出的模板js。

如果不设置type,默认会将所有的模板编译合并为 template.js ,而如果设置了type,就会单独生成对应js文件。

运行后htmls文件夹下会生成一个package.json文件。

3、模板语法

{
{each Data as value index}} {
{value.ID}} {
{value.Client}} {
{value.ClientType | geterrtype}} {
{value.ErrCode}} {
{value.SqlString}} {
{value.CreateDate} {
{value.CreateTime}} {
{/each}}

{

{content}}输出内容

{

{#content}}不编码输出内容

if语句:

{
{if admin}}

admin

{
{else if code > 0}}

master

{
{else}}

error!

{
{/if}}

遍历:

{
{each list as value index}}
  • {
    {index}} - {
    {value.user}}
  • {
    {/each}}

    或者

    {
    {each list}}
  • {
    {$index}} - {
    {$value.user}}
  • {
    {/each}}

    注:使用辅助方法时{

    {value.ClientType | geterrtype}}中 | 两边的空格不能省略。

    4、使用模板

    4.1 type为默认时:

    var template = require('/tpl/build/template.js');            var html = template('dblog', data);            $('#J_SearchResults').html(html);

    4.2 type为非默认时,拿seajs举例:

    var render = require('/tpl/build/dblog');            var html = render(data);            $('#J_SearchResults').html(html);

    5、使用辅助方法

    package.json中有一个helpers配置项

    {    "name": "template",    "version": "1.0.0",    "dependencies": {        "tmodjs": "1.0.1"    },    "tmodjs-config": {        "output": "../build",        "charset": "utf-8",        "syntax": "simple",        "helpers": null,        "escape": true,        "compress": true,        "type": "default",        "runtime": "template.js",        "combo": true,        "minify": true,        "cache": true    }}

    我们可以在模板目录新建一个 config/template-helper.js 文件,然后编辑 package.json 设置"helpers": "./config/template-helper.js"。

    里面的代码类似:

    template.helper("geterrtype", function(n) {  //  return xxx;});template.helper("dataformat", function(n,format) {  //  return xxx;});

    但是我在迁移模板的时候发现template-helper.js中不能获取外部的变量也不能引入外部的js,不然会报错。

    但是如果辅助方法不是在这里设置,而是在普通的js中就可以用:

    var template = require('/tpl/build/template.js');            template.helper("geterrtype", function(n) {                return common._getErrType(n);            });            var html = template('dblog', data);            $('#J_SearchResults').html(html);

    下面这种也可以= =虽然感觉怪怪的:

    var template=require('/tpl/build/template');            template.helper("geterrtype", function(n) {                return common._getErrType(n);            });            var render = require('/tpl/build/dblog');            var html = render(data);            $('#J_SearchResults').html(html);
    2、
    2.
     
    3.
     
    4.
     
    5.
     
     
    6.
     
    warn 作者:
    出处:
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    转载于:https://www.cnblogs.com/storebook/p/9329291.html

    你可能感兴趣的文章
    [leetcode] 1. Two Sum
    查看>>
    iOS 日常工作之常用宏定义大全
    查看>>
    PHP的SQL注入技术实现以及预防措施
    查看>>
    MVC Razor
    查看>>
    软件目录结构规范
    查看>>
    Windbg调试Sql Server 进程
    查看>>
    linux调度器系列
    查看>>
    mysqladmin
    查看>>
    解决 No Entity Framework provider found for the ADO.NET provider
    查看>>
    SVN服务器搭建和使用(三)(转载)
    查看>>
    Android 自定义View (三) 圆环交替 等待效果
    查看>>
    设置虚拟机虚拟机中fedora上网配置-bridge连接方式(图解)
    查看>>
    HEVC播放器出炉,迅雷看看支持H.265
    查看>>
    [置顶] Android仿人人客户端(v5.7.1)——人人授权访问界面
    查看>>
    Eclipse 调试的时候Tomcat报错启动不了
    查看>>
    【安卓5】高级控件——拖动条SeekBar
    查看>>
    ES6内置方法find 和 filter的区别在哪
    查看>>
    Android入门之文件系统操作(二)文件操作相关指令
    查看>>
    Android实现 ScrollView + ListView无滚动条滚动
    查看>>
    Swift 中的指针使用
    查看>>