2017-07-13 96 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); 
}) 
相關問題