在我的一個節點文件中,我有一個函數爲每個頁面執行(簡單的登錄實現)。在下面的代碼中,聊天欄只會顯示特定的路線。我的流量是這樣的:EJS和節點沒有正確加載模板,res.render
- 客戶登錄...點擊'/',並運行以下功能。 showChatBar = false。 - 立即將頁面重定向到「/ chat」路由。 showChatBar = true。這應該現在顯示聊天欄。但事實並非如此。
我的想法是...這發生得太快了,showChatBar = true,永遠不會加載。也許是異步問題?也許與res.render的東西?
這裏是我的Node.js代碼
exports.login = function (req, res) {
var showChatBar = false, navButton = '', navTitle='',navSubTitle='';
if(typeof req.url !='undefined'){
if(req.url.indexOf('chat')!=-1){
//Consumer View
showChatBar = true;
navButton = "close";
}
if(req.url.indexOf('agent')!=-1){
//Agent View
navButton = "close";
navTitle='My Clients';
}
}
if(typeof req.headers.referer != 'undefined'){
if(req.headers.referer.indexOf('agent')!=-1){
//Agent Chat View
navButton = "back";
}
}
res.render('index', {title: 'Express', showChatBar: showChatBar, navButton:navButton, navTitle:navTitle,navSubTitle:navSubTitle});
};
這裏是EJS部分:爲什麼這不是showChatBar =真正確更新模板
<script>
var chatBar =<%= showChatBar %>, navButton='<%= navButton %>', navTitle='<%= navTitle %>',navSubTitle='<%= navSubTitle %>';
</script>
的思考?
嗯...似乎沒有修復它。但是謝謝! –
看來,重新路由發生時,它不想再次重新加載index.js ...只保留第一個showChatBar值... –