4

我有一个网络应用程序,除了一个之外,整个布局保持不变<div>。目前,我只是使用路由来处理链接,重新加载文件的其余部分似乎很浪费,layout.ejs我唯一希望更改的是我的<div>.

我必须在我的layout.ejs文件中更改什么?这是我当前的文件:

<!DOCTYPE html>
<html lan="en">
  <head>
    <title><%= title %></title>
    <link rel="stylesheet" href="/stylesheets/reset.css">
    <link rel='stylesheet' href='/stylesheets/style.css' />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
    <script src="/nowjs/now.js"></script>
    <script src="/javascripts/chat.js"></script>
  </head>
  <body>
    <div id="wrapper">
        <div id="header">
        </div>
        <div id="chat">
            <input type="text" id="text-input">
            <input type="button" value="Send" id="send-button">
        </div>
        <div id="content">
            <%- body %>
        </div>
        <div id="rooms">
        </div>
        <div id="footer">
            <div id="footer_links">
                <a href="/">Home</a> | <a href="/about">About</a> | <a href="/contact">Contact</a>
            </div>
        </div>
    </div>
  </body>
</html>

我正在考虑使用 AJAX 来使用它,但我听说过一些关于使用局部视图的好消息。我只是不确定如何设置它。另外,我听说可以使用带有部分视图的 WebSockets 而不是 AJAX。这是一个好主意,甚至可能吗?

抱歉,这可能很简单。我在处理文档时遇到了困难。

谢谢!

4

1 回答 1

7

我刚刚解决了。

您可以在视图中调用 `partial(filename)` 来加载部分。假设我们使用EJS,在`views/`中有三个文件: 1. layout.ejs 2. index.ejs 3. header.ejs 并且index.ejs的内容是:然后,启动服务器,浏览它,你会看到`header.ejs`被加载到`index.ejs`。

!!!更新

在 express 版本 >=3.0 中,不再partial()有。但是我们可以使用<% include xxx.file %>,或者只使用另一个模块:“express-partials”。请在 Github 上搜索。

于 2012-01-16T06:51:43.990 回答