我不希望它是layout.ejs.
我想将我的布局设置为此特定控制器的另一个模板.
我正在为我的Web应用程序进行配置,尝试将其呈现为网页.以下是我的代码的一部分.我想选择配置[0] .volume的选项.因此,如果config [0] .volume为'50',则所选选项将为'50'.代码运作良好.但我想知道."我怎样才能缩短这段代码?" 我的代码很冗长.
<select id="volume">
<option value="1" <%= config[0].volume == '1' ? 'selected' : ''%>>1</option>
<option value="5" <%= config[0].volume == '5' ? 'selected' : '' %>>5</option>
<option value="10" <%= config[0].volume == '10' ? 'selected' : '' %>>10</option>
<option value="50" <%= config[0].volume == '50' ? 'selected' : '' %>>50</option>
<option value="75" <%= config[0].volume == '75' ? 'selected' : '' %>>75</option>
<option value="100" <%= config[0].volume == '100' ? 'selected' : '' %>>100</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我想大约2个小时,但没有任何结果.也许我必须使用jquery或javascript,并添加属性来拥有它,
attr('selected')... ?
Run Code Online (Sandbox Code Playgroud)
我不知道,你能帮帮我吗?
我在ejs中显示日期
<%= new Date();%>
Run Code Online (Sandbox Code Playgroud)
它给了我结果
2016年2月2日星期二16:02:24 GMT + 0530(IST)
但我需要表现为
2016年1月19日
我怎样才能在ejs中这样做?
我正在使用带有nodejs/express的EJS模板引擎,我想知道是否可以在例如index.ejs(而不是layout.ejs)中添加另一个css或js文件
layout.ejs
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<link rel='stylesheet' href='/stylesheets/smoothness/jquery-ui-1.8.14.custom.css' />
</head>
<body>
<%- body %>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
index.ejs
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
Run Code Online (Sandbox Code Playgroud)
我不想在每个模板中添加第二个css文件,只有index.ejs - 有什么方法可以做到吗?
我的ejs引擎设置是app.js如下:
// this parse html file as ejs file
app.engine('.html', require('ejs').__express);
app.set('view engine', 'html');
app.set('views', __dirname + '/view');
Run Code Online (Sandbox Code Playgroud)
我的目录是这样的:
view (folder)
home.html
head.html
app.js
Run Code Online (Sandbox Code Playgroud)
Home.html是这样的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>home</title>
<% include head %>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
和head.html是这样的:
<link rel="stylesheet" type="text/css" href="css/main.css">
<script type="text/javascript" src="js/jquery-1.5.js"></script>
Run Code Online (Sandbox Code Playgroud)
问题是如果扩展名为html,则不会解析文件head.html.错误说它期待ejs文件.那么include函数有问题吗?
我在后端使用带有nodejs的ejs.我想在包含时传递变量.包含标题时,传递页面标题.
index.ejs:
<% include header %>
<body> . . . </body>
<% include footer%>
Run Code Online (Sandbox Code Playgroud)
header.ejs:
<html lang="en">
<head>
<title><%- my_tytle %></title>
</head>
Run Code Online (Sandbox Code Playgroud)
footer.ejs:
</html>
Run Code Online (Sandbox Code Playgroud)
如何传入my_titleinclude命令?
我想在每个导航链接上呈现一个"当前"类,具体取决于我在layout.ejs模板中的哪个页面.
目前,我的快递控制器索引如下所示:
// About
exports.about = function(req, res) {
res.render('content/about.ejs', {
title: 'About'
});
};
Run Code Online (Sandbox Code Playgroud)
在我的layout.ejs中,我有以下内容,我想动态呈现.
<ul class="nav" id="nav">
<li><a href="/">Home</a></li>
<li class="current"><a href="/about">About</a></li>
<li><a href="/">Contact</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
有关如何实现这一目标的任何想法?
正如我在标题中所写的那样,我想从同一页面中的javascript文件中写入ejs页面/文件的变量中获取值
EJS:
<% var test = 101; %>
Run Code Online (Sandbox Code Playgroud)
JS:
<script>
var getTest = test;
</script>
Run Code Online (Sandbox Code Playgroud)
或者如果我想使用写入EJS文件的函数(带参数)并在JS上下文中使用此函数,其中参数是从JS上下文赋予函数的
EJS:
<% function fn(par){ ... } %>
Run Code Online (Sandbox Code Playgroud)
JS:
<script>
var test = 101;
<%>fn(test)<%>
</script>
Run Code Online (Sandbox Code Playgroud) app.js(节点进程,包括等为简洁而排除但使用ejs作为渲染引擎):
app.get('/', function(req, res){
var ejsVariables = {
title : 'ideal ejs function example',
listData1 : {
listTitle : 'my list',
listItems : [
{ name : 'first item', class : 'foo' },
{ name : 'second item', class : 'bar' },
{ name : 'last item', class : 'foo' } ]
},
listData2 : {
listTitle : 'your list',
listItems : [
{ name : 'a widget', class : 'foo' },
{ name : 'another widget', class …Run Code Online (Sandbox Code Playgroud) 我正在制作一个模板,我正在尝试使用express和ejs渲染模板.至于节点应用程序的标准结构,我有app.js文件,其中包含如下函数:
app.locals.getFlag = function(country) {
var flag_img_name = "";
if (country.toLowerCase() == "us") {
flag_img_name = "flag_us16x13.gif";
}
else if (country.toLowerCase() == "ca"){
flag_img_name = "flag_ca16x13.gif";
}
return flag_img_name;
}
Run Code Online (Sandbox Code Playgroud)
我有some_template.ejs文件调用此函数,如下所示:
<img src="http://some_url_path/<%=getFlag(data_point[0].country_name) %>" width="16" height="14" alt="country" >
Run Code Online (Sandbox Code Playgroud)
它工作得很好.但是,我有大约15-20个这样的函数,我不想在app.js中定义所有这些函数.还有其他地方可以定义这些函数并在模板中调用它们,就像我现在一样吗?如果是,那么定义它们的方式是什么,以便它们像现在一样可以访问.
我是节点,表达和ejs的新手,并不确定不同的技术.如果有人可以为它揭开光芒,那就太好了.先感谢您.