2017-07-13 56 views
0

我正在学习nodeJS,为此我找到了一组好的turtorials。现在它教给我一个称为express的好框架。要使用表达,你还必须学习ejs。幸运的是,对于我来说turtorials也涵盖了这一点。现在我知道,你基本上可以嵌入这样javascipt的对象的值:在express中使用函数(nodeJS框架)

<div><%= valueKey %></div> //Here I have embedded valueKey 

而且你还可以做的事情与循环是这样的:

<ul><% (for var i=0; i<5; i++){ %> 
    console.log(i) 
<% } %></ul> 

我还没学到,虽然是你如何可以使用其他的JavaScript功能与ejs/express。例如像事件一样。而且,由于这是制作网站所必不可少的,我想知道这是否可能。所以我的问题基本上是:是否有可能使用正常的前端JavaScript来做同样的事情?如果是这样,有没有人有一个很好的链接,可以向我解释它是如何工作的?

+0

一般来说,在Node中,您无权访问DOM和浏览器的事件。另外'ejs'只是许多模板引擎之一。 (你不必学会使用快递) – TLJ

回答

0

EJS是一种模板语言。模板语言的目标是描述视图的外观。 这意味着,你不应该在他们的业务逻辑。您应该在EJS内部执行的唯一逻辑就是影响视图的逻辑。例如,您提供的for循环,或if语句说明数据是否不存在或不符合要求不会呈现显示数据的部分。如果我们有超过0条未读错误消息,下面的代码表明只在页面上放置标签危险。

<%if (unreadErrorNumber>0){%> 
    <span class="label label-danger"><%=unreadErrorNumber%></span> 
<% } %> 

您应该操纵数据并在节点中执行其他逻辑,然后将它们传递到EJS中进行渲染和渲染。

app.get("/index", (req, res, next) => { 
    //Do what it takes to get the correct unreadErrorNumber. 
    let errorCount = modification(databaseStuff()); 
    res.render("index", unreadErrorNumber:errorCount); 
}) 
相关问题