<%= 将值输出到模板中(HTML 转义) <%- 将未转义的值输出到模板中
这两行具体意味着“转义”和“未转义”一词是什么意思?
我在我的博客上使用Cradle with Express和EJS.也许我错过了smth,但有些人将html实体转换为等价物.
我在doc.quote字段中有html,在这段代码之后它会改变
quotesDb.view('list/by_date', {
'startkey' : {},
'endkey' : null,
'descending' : true
}, function(err, res) {
if (err) {
r.send();
return;
}
r.partial('quotes', {'quotes' : res}, function(err, str) {
console.log(str);
sendResponse('content', str);
});
});
Run Code Online (Sandbox Code Playgroud)
quotes.ejs:
<% for (var i=0; i<quotes.length; i++) { %>
<div>
<%=quotes[i].value.quote%>
</div>
<div class="date">
<%=(new Date(quotes[i].value.ts*1000)).toLocaleDateString()%><% if (quotes[i].value.author) { %>, <%=quotes[i].value.author%><% } %>
</div>
<% } %>
Run Code Online (Sandbox Code Playgroud)
"res"变量是具有"content"字段(具有html)的对象的数组.但在渲染后,"str"将"quotes [i] .value.quote"符号转换为其实体,比如说to to< br>
我正在使用带有node.js的ejs模板并表达3.x ...是否可以转储传入视图的数据对象?
index.ejs中有类似的东西:
<%= dump(session) %>
Run Code Online (Sandbox Code Playgroud) 我想从我的控制器或EJS视图访问app.routes,但app var不存在.你知道如何访问我在config/routes.js中定义的所有路由吗?
谢谢.
PS:我正在使用基于express.js的sails.js.
给定一个用expressJS渲染的EJS模板,我有一个变量itemId.如何在MyCtrl控制器中使用它?
<script>x="<%=itemId%>"</script>
<div ng-controller="MyCtrl">
</div>
Run Code Online (Sandbox Code Playgroud)
到目前为止我已经尝试过
<script>$scope.x=<%=itemId%></script>
Run Code Online (Sandbox Code Playgroud)
然后在控制器中,尝试获取它$scope.x但它不起作用.
我需要修改变量" <%= title %>",但我不知道他们在哪里创建变量或我可以在哪里更改它.
我想知道在视图中可以找到其他全局变量,例如我没有在视图中发送的变量<%= session%>,但由于某些原因已经存在.在"表达"它触动我做了类似以下的事情:
" res.render('session/new', {title: "Log in", session: req.session});"
所以我想知道他们在哪里创建"会话"变量,因为我不喜欢去那里不知道一些事情XD
非常感谢您的帮助.
我正在尝试访问EJS模板中的嵌套数组.在我的后端,我正在渲染这个,'lists'是一个业务数组,userId是来自会话的用户_id.
res.render('listOfBusinesses', {lists:business, userId:loggedUserID});
Run Code Online (Sandbox Code Playgroud)
在前端我循环遍历列表并获取正确的属性值,但是一个属性是一组追随者_ids,我需要与userId交叉检查以给出一个关注按钮或取消关注按钮.
前端看起来像这样:
<% for (var i = 0; i < lists.length; i++) { %>
<div class="col-xs-6 col-sm-4 panel">
<a href="/busProfileFromUser?busId=<%= lists[i]._id %>">
<img src="<%= lists[i].imgpath %>" class="img-responsive follow-img" />
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
上面的工作正常,但属性lists[i].followers是一个数组,我需要再次循环,但只是无法得到正确的语法.
我正在考虑以下几点:
for (var i = 0; i< lists[i].followers.length; i++){
if (list[i] == userId) {
<button>Follow</button>
} else {
<button>Unfollow</button>
}
}
Run Code Online (Sandbox Code Playgroud)
非常感谢任何建议!!
几乎已经解决了这个问题,卡住了一段时间,但部分问题是传递给渲染的变量是在条件语句中使用的,它正在检查对象id是否等于字符串.所以我调用toString()来确保它们是字符串.它现在返回正确的按钮,但它只返回一个按钮,而不显示其余业务列表的任何内容.任何人都可以了解为什么其他按钮没有显示
<% for (var j = 0; j < lists[i].followers.length; j++) {%>
<% if (lists[i].followers[j].toString() == userId.toString()) { %>
<button>Unfollow</button> …Run Code Online (Sandbox Code Playgroud) 我正在尝试声明默认值并将其分配给多个变量。但是该值仅分配给最后一个变量
<% var scale_text,scale_image = 'free_transform'; %>
Run Code Online (Sandbox Code Playgroud)
此打印为空:
<%- scale_text %>
Run Code Online (Sandbox Code Playgroud)
此打印 free_transform
<%- scale_image %>
Run Code Online (Sandbox Code Playgroud)
我想念什么?
嗨,我使用gulp将我的.ejs文件自动编译为html文件,但是当gulp-ejs编译文件时,它就像ejs一样输出。我需要在ejs()对象中定义.html扩展名,但是我可以使它工作。
这是我到目前为止所得到的:
gulp.task('ejs', function(){
return gulp.src('src/templates/**/*.ejs')
.pipe(ejs())
.pipe(gulp.dest('builds/dev/'))
});
Run Code Online (Sandbox Code Playgroud)
我也尝试过这个:
gulp.task('ejs', function(){
return gulp.src('src/templates/**/*.ejs')
.pipe(ejs({setting: '.html'}))
.pipe(gulp.dest('builds/dev/'))
});
Run Code Online (Sandbox Code Playgroud)
溴
我对这个话题很陌生。我想了解更多有关何时使用渲染和重定向的信息。目标是在用户单击按钮或登录后将其引导到另一个页面。此新页面需要数据,因此我在render命令期间传递此数据。除页面URL不能代表他们当前正在查看的正确页面外,此方法工作正常。在这种情况下,我想知道是否应该进行重定向。下面是我的代码。 这是我的server.js页面的代码片段
// route for user Login
app.route('/login')
.get(sessionChecker, (req, res) => {
res.render('login');
})
.post((req, res) => {
var username = req.body.username,
password = req.body.password;
User.findOne({ where: { username: username } }).then(function (user) {
if (!user) {
res.render('login');;
} else if (!user.validPassword(password)) {
res.render('login');;
} else {
req.session.user = user.dataValues;
res.render('dashboard',{
"token" : createToken(req),
"user" : req.session.user
});
}
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的.ejs页面中的一小段代码
<% if( typeof user !== "undefined") { %>
<li><a href="/dashboard">Dashboard</a></li>
<li><a href="/reports">My Reports</a></li>
<li class="dropdown">
<a href="#" …Run Code Online (Sandbox Code Playgroud) ejs ×10
node.js ×9
express ×5
sails.js ×3
javascript ×2
angularjs ×1
controller ×1
cradle ×1
gulp ×1
gulp-plugin ×1
templates ×1