js-template-art【四】通过helper方法注册,调用外部方法
2017-04-29 10:42
519 查看
一、语法
模板代码中调用外部函数,需要通过helper方法注册template.helper(name, callback)
二、使用【实例】
原文:http://blog.csdn.net/u011413061/article/details/50498470前提:replace使用
html代码:
<!--数据容器--> <div id="content"></div> <!--/数据容器--> <script id="test" type="text/html"> /*对time对象进行格式化*/ {{time | dateFormat:'yyyy年 MM月 dd日 hh:mm:ss'}} </script>
javascript代码
/** * 对日期进行格式化, * @param date 要格式化的日期 * @param format 进行格式化的模式字符串 * 支持的模式字母有: * y:年, * M:年中的月份(1-12), * d:月份中的天(1-31), * h:小时(0-23), * m:分(0-59), * s:秒(0-59), * S:毫秒(0-999), * q:季度(1-4) * @return String * @author yanis.wang * @see http://yaniswang.com/frontend/2013/02/16/dateformat-performance/ */ template.helper('dateFormat', function (date, format) { date = new Date(date); //新建日期对象 /*日期字典*/ var map = { "M": date.getMonth() + 1, //月份 "d": date.getDate(), //日 "h": date.getHours(), //小时 "m": date.getMinutes(), //分 "s": date.getSeconds(), //秒 "q": Math.floor((date.getMonth() + 3) / 3), //季度 "S": date.getMilliseconds() //毫秒 }; /*正则替换*/ format = format.replace(/([yMdhmsqS])+/g, function(all, t){ var v = map[t]; if(v !== undefined){ if(all.length > 1){ v = '0' + v; v = v.substr(v.length-2); } return v; } else if(t === 'y'){ return (date.getFullYear() + '').substr(4 - all.length); } return all; }); /*返回自身*/ return format; }); /*数据*/ var data = { time: (new Date).toString(), }; /*渲染*/ var html = template('test', data); /*绑定*/ document.getElementById('content').innerHTML = html;
相关文章推荐
- 模板内部不支持原生js的方法?》》artTemplate模版方法注册window全部事件方法
- template.js 模版内调用外部JS方法
- 初学者笔记:框架里,外部js文件调用aspx.cs的方法
- 使用MVC中的HtmlHelper对象的ActionLink方法,实现一个Javascript:void(0)效果,去调用一个JS方法
- 通过java调用js方法的demo
- 找到多个与名为“HOME”的控制器匹配的类型。如果为此请求(“{CONTROLLER}/{ACTION}/{ID}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况。如果是这样,请通过调用含有“NAMESPACES”参数的“MAPROUTE”方法的重载来注册此路由。
- 通过AS3加载外部SWF文件,调用外部文件文档类的方法
- 每日总结:每个 GROUP BY 表达式必须至少包含一个不是外部引用的列、加载页面时调用Js方法、调用Js文件中的方法
- 通过java调用js方法的demo
- 通过 Spring RestTemplate 调用带请求体的 Delete 方法(Delete With Request Body)
- webview通过js调用android方法
- ie调用外部js文件,有注释就出错的解决方法
- 用接口实现通过改外部文件实现判断调用接口内的方法
- 如何通过AS3加载外部SWF文件,调用外部文件文档类的方法?
- javascript同步Import,同步调用外部js的方法
- 如何通过AS3加载外部SWF文件,调用外部文件文档类的方法?
- 通过a4j:jsFunction 调用原生的javascript方法,并且共享和传递后台bean里面的变量
- 解决jQuery.Validate.js在先调用form()方法后没法获取通过js修改的验证规则
- 在artTemplate的标签中使用外部函数的方法
- Cocos2dx通过JniHelper调用java函数,报错error link2019: 无法解析的外部命令