node.jsがejsテンプレートにデータを送信する2つの方法
1399 ワード
node.jsでejsテンプレートにデータを送信するには、方法1、サンプルコードの2つの方法があります.
構文:
説明:
view:テンプレートファイル名
locals:テンプレート内のすべての変数のkey-valueのJSONデータ
callback:コールバック関数
弊害:この方法では、テンプレートに値を割り当てるときに、テンプレート内のすべての変数を一度に値を渡さなければなりません.そうしないと、エラーが発生します.
メソッド2、サンプルコード:1)
2)
このメソッドの2つの方法で使用できます.
利点:テンプレート内のすべての変数に一度に値を渡す必要がなく、PHPとsmartyテンプレートを結合する方法に似たステップで値を伝えることができます.ステップで値を転送できますが、テンプレート(res.render)をレンダリングする前に、すべての変数に値を転送する必要があります.そうしないと、エラーも発生します.これはPHPとsmartyテンプレートの最大の違いです.
補足説明:前述したように、テンプレートに値を渡すときは、テンプレート内のすべての変数を値に渡さなければなりません.そうしないと、エラーが発生します.則才の試験を経て、ejsテンプレートファイルでは、判断を利用してこの問題を解決することができることが分かった.サンプルコードは以下の通りである.
親測可.
res.render('viewName',{name1:'value1', name2:'value2',...});
構文:
res.render(view, [locals], callback);
説明:
view:テンプレートファイル名
locals:テンプレート内のすべての変数のkey-valueのJSONデータ
callback:コールバック関数
弊害:この方法では、テンプレートに値を割り当てるときに、テンプレート内のすべての変数を一度に値を渡さなければなりません.そうしないと、エラーが発生します.
メソッド2、サンプルコード:1)
res.locals({title:' '});
res.locals({showMessage:' '});
res.render('index');
2)
res.locals.title = ' ';
res.locals.showMessage = ' ';
res.render('index');
このメソッドの2つの方法で使用できます.
利点:テンプレート内のすべての変数に一度に値を渡す必要がなく、PHPとsmartyテンプレートを結合する方法に似たステップで値を伝えることができます.ステップで値を転送できますが、テンプレート(res.render)をレンダリングする前に、すべての変数に値を転送する必要があります.そうしないと、エラーも発生します.これはPHPとsmartyテンプレートの最大の違いです.
補足説明:前述したように、テンプレートに値を渡すときは、テンプレート内のすべての変数を値に渡さなければなりません.そうしないと、エラーが発生します.則才の試験を経て、ejsテンプレートファイルでは、判断を利用してこの問題を解決することができることが分かった.サンプルコードは以下の通りである.
<% if (locals.title) { %>
<%= locals.title %>
<% } %>
titleに伝達値がある場合、表示されます.値が伝わっていないときも、間違いを報告することはありません.親測可.