4

レイアウト全体が1つを除いて一定のままであるWebアプリがあります<div>。現在、リンクを処理するためにルートを使用しているだけlayout.ejsで、変更したいのは my <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 を使用することを考えていましたが、部分ビューを使用することについていくつか良いことを聞きました。これを設定する方法についてはまったくわかりません。また、AJAX の代わりに部分ビューで WebSocket を使用できると聞いたことがあります。これは良い考えですか、それとも可能ですか?

申し訳ありませんが、これは簡単かもしれません。ドキュメンテーションに苦労しています。

ありがとう!

4

1 に答える 1

7

私はちょうどそれを解決しました。

ビューで `partial(filename)` を呼び出してパーシャルをロードできます。EJS を使用していて、`views/` に 3 つのファイルがあるとします: 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 に答える