扫码关注官方订阅号
如题,在ejs模板文件中,怎么使用外部的js函数,要是直接<%%>编译时会出现错误,说是找不到这个函数
认证0级讲师
很久不用ejs了……回答可能有误你需要在调用ejs模板的时候,把这个函数当作是参数传进去,然后你就能在ejs中使用它了。
ejs
<%%>应该是属于模板的语法了。你要引用外部的js函数,只需要用<script></script>标签将外部函数包起来即可,并不需要用到ejs的语法。
<%%>
<script></script>
@ljxhappy首先,要确定你的ejs是用作前端渲染还是后端渲染,它无法既做前端渲染又做后端渲染。按你上面所说的,似乎本来就是后端渲染,因为如果是前端渲染的话,你的数据可以通过ajax提供。那么,你这个数据最好是在后端处理。如果你使用的是express的话,例如你是首页,那么在路由匹配的回调里边,你得到数据后进行排序,最后用res.render()这个函数去渲染就好了。假设你的页面是index,下面是伪代码:
res.render()
index
app.get('/', function (req, res) { //...获取数据的操作 //以下处理数据 var data = ret; var sortData = function (data, type) { var temp = ''; for (var i = 1; i < data.length; i++) { if (data[i - 1][type] > data[i][type]) { temp = data[i - 1]; data[i - 1] = data[i]; data[i] = temp; } } } sortData(data,'banRank'); //渲染页面 res.render('index', data); });
不建议你函数命名为sort,因为js中有sort的方法。
sort
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
很久不用
ejs了……回答可能有误你需要在调用
ejs模板的时候,把这个函数当作是参数传进去,然后你就能在ejs中使用它了。<%%>应该是属于模板的语法了。你要引用外部的js函数,只需要用
<script></script>标签将外部函数包起来即可,并不需要用到ejs的语法。更新
@ljxhappy
首先,要确定你的ejs是用作前端渲染还是后端渲染,它无法既做前端渲染又做后端渲染。
按你上面所说的,似乎本来就是后端渲染,因为如果是前端渲染的话,你的数据可以通过ajax提供。
那么,你这个数据最好是在后端处理。如果你使用的是express的话,例如你是首页,那么在路由匹配的回调里边,你得到数据后进行排序,最后用
res.render()这个函数去渲染就好了。假设你的页面是index,下面是伪代码:不建议你函数命名为
sort,因为js中有sort的方法。