标签: ejs

ejs 模板引擎上下文中转义和未转义值的含义?

<%= 将值输出到模板中(HTML 转义) <%- 将未转义的值输出到模板中

这两行具体意味着“转义”和“未转义”一词是什么意思?

javascript ejs node.js

2
推荐指数
1
解决办法
2438
查看次数

Cradle/Express/EJS将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>

ejs node.js express cradle

1
推荐指数
1
解决办法
3118
查看次数

从express3.x视图转储ejs模板中的对象?

我正在使用带有node.js的ejs模板并表达3.x ...是否可以转储传入视图的数据对象?

index.ejs中有类似的东西:

<%= dump(session) %>
Run Code Online (Sandbox Code Playgroud)

javascript ejs node.js express

1
推荐指数
1
解决办法
2588
查看次数

如何从控制器/ EJS访问应用程序?Express.js

我想从我的控制器或EJS视图访问app.routes,但app var不存在.你知道如何访问我在config/routes.js中定义的所有路由吗?

谢谢.

PS:我正在使用基于express.js的sails.js.

controller ejs node.js express sails.js

1
推荐指数
1
解决办法
2440
查看次数

如何使用传递给角度应用程序的ejs模板的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但它不起作用.

ejs angularjs

1
推荐指数
1
解决办法
3458
查看次数

我在哪里创建或修改视图的全局变量(ejs)

我需要修改变量" <%= title %>",但我不知道他们在哪里创建变量或我可以在哪里更改它.

我想知道在视图中可以找到其他全局变量,例如我没有在视图中发送的变量<%= session%>,但由于某些原因已经存在.在"表达"它触动我做了类似以下的事情:

" res.render('session/new', {title: "Log in", session: req.session});"

所以我想知道他们在哪里创建"会话"变量,因为我不喜欢去那里不知道一些事情XD

非常感谢您的帮助.

ejs node.js express sails.js

1
推荐指数
1
解决办法
2823
查看次数

嵌套的EJS模板循环

我正在尝试访问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)

templates ejs node.js

1
推荐指数
1
解决办法
4317
查看次数

ejs中的多变量声明

我正在尝试声明默认值并将其分配给多个变量。但是该值仅分配给最后一个变量

<% 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)

我想念什么?

ejs node.js sails.js embedded-javascript

1
推荐指数
1
解决办法
7123
查看次数

无法使gulp-ejs将EJS编译为.html

嗨,我使用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)

ejs node.js gulp gulp-plugin

1
推荐指数
1
解决办法
2317
查看次数

我应该在Express和EJS中使用res.render还是res.redirect?

我对这个话题很陌生。我想了解更多有关何时使用渲染和重定向的信息。目标是在用户单击按钮或登录后将其引导到另一个页面。此新页面需要数据,因此我在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 node.js express

1
推荐指数
1
解决办法
6534
查看次数