node+ejs【封装ejs模板中直接调用js方法】
来源:互联网 发布:python smtp发送邮件 编辑:程序博客网 时间:2024/05/16 15:05
封装全局函数
var myFunction = {};/* * 字符串截取 * @str 截取字符串 * @start 开始截取位置 * @end 结束截取位置 */myFunction.substring = function(str, start, end){ if(end){ return str.substring(start, end); }else{ return str.substring(start); }},/* * 主要思想是使用eval执行想要的逻辑。以拼接字符的模式来进行逻辑判断理论上可以如同EL表达式一样处理页面上的大部分逻辑。 * 如:<%= Fun.behe(1, '==', 2, '?', '"1等于2"', ':', '"1不等于2"') %> * <%= Fun.behe('1==2 ? "1等于2" : "1不等于2"') %> */myFunction.behe = function(){ var exps = []; try{ //最后一个参数作为展示内容,也就是平时的options。不作为逻辑表达式部分 var arg_len = arguments.length; var len = arg_len; for(var j = 0; j<len; j++){ exps.push(arguments[j]); } var result = eval(exps.join(' ')); return result; }catch(e){ throw new Error('Handlerbars Helper "expression" can not deal with wrong expression:'+exps.join(' ')+"."); }}module.exports = myFunction;
app.js全局定义ejs模板中
//加载自定义全局方法app.locals.Fun = require('./utils/myFunction');
ejs模板中直接调用
<%= Fun.substring(myObj.str, 3) %><br><%= Fun.behe(1, '==', 2, '?', '"1等于2"', ':', '"1不等于2"') %><br><%= Fun.behe('1==2 ? "1等于2" : "1不等于2"') %>
阅读全文
0 0
- node+ejs【封装ejs模板中直接调用js方法】
- node.js 模板 ejs
- node.js 模板引ejs
- Node.js EJS模板引擎
- node.js中ejs模板的使用方式
- Node.js学习(14)----EJS模板引擎
- Node.js学习(13)----ejs模板引擎
- [node] ejs模板手册
- node.js之EJS
- node.js 安装配置 npm ,express,ejs模板
- node.js 使用ejs模板引擎时后缀换成.html
- node.js ejs 渲染moment
- node.js+express(ejs)
- node+express 项目中安装ejs模板引擎
- node+express 项目中ejs模板的使用
- [Node.js]在Express3.X中使用EJS
- EJS模板中,js如何获取后端传来的数据
- 建立ejs模板node网站的步骤
- 加入Java大家族
- springMVC 上传压缩包文件、解压
- realloc函数用法
- 小白的前端学习日记HTML/CSS之---九宫格
- sql语句连接查询.
- node+ejs【封装ejs模板中直接调用js方法】
- sql语句嵌套查询.
- hrbust 1614 小z的地图 dfs
- 如何:在十六进制字符串与数值类型之间转换(C# 编程指南)
- SQL 必须记住的关键字
- 程序员的成长之路
- 跟我一起学C语言(第七天)
- Centos 7 ftp连接出现500 OOPS: vsftpd: refusing to run with writable root inside chroot()
- POJ 1144 Network (割点)