クライアント側とサーバー側のテンプレート作成が非常に簡単です。いくつかのWebアプリケーションを構築するときに、ajaxを使用してデータを取得し、それを処理するコールバック関数を使用する必要があります。クライアント側。
質問はクライアント側でどのようにレンダリングするのですか?
今すぐクライアント側jade.jsが必要です。
本書フォロー:https://github.com/visionmedia/jade#readme
まず
git clone https://github.com/visionmedia/jade.git
セカンド
$ make jade.js (in fact the project has already compile the file for us)
so we just need to copy this file to the path that we use.
サード
read my demo below :
<script type='text/javascript' language='javascript' src="lib/jquery-1.8.2.min.js"></script>
<script type='text/javascript' language='javascript' src="lib/jade/jade.js"></script>
<script type='template' id='test'>
ul
li hello world
li #{item}
li #{item}
li #{item}
</script>
<script>
var compileText = $("#test").text();
console.log(typeof(compileText));
var fn = jade.compile(compileText , { layout : false });
var out = fn({item : "this is item " });
console.log(out);
$("body").append(out);
</script>
は今、あなたは身体
hello world
this is item
this is item
this is item
で出力結果を見ることができ、このデモを読んだ後、私はあなたがコンパイルした1理解できるside.Ifヒスイサーバ側とクライアントを区切るする方法を知っているだろうと思いますすべての質問は簡単です。
多分、別の質問が出るかもしれません。* jadeテンプレートコードを* jadeに書き込むには?
index.jade
!!!5
html
head
title hello world
body
ul#list
script#list-template(type='template')
|- for(var i in data)
| li(class='list') \#{ data[i].name }
|- }
index.js
/* you javascript code */
var compileText = $('#list-template').text();
var compile = jade.compile(compileText , { layout : false });
var data = [{ "name" : "Ben" } , {"name" : "Jack" } , {"name" : "Rose" }];
var outputText = compile(data);
$("#list").append(outputText);
あなたは[ブラウザで]ジェイドテンプレートを使用することができます(https://github.com/visionmedia/jade#a4)。 Nodeとブラウザの両方で動作する他の多くのテンプレートエンジンがあります。 –
私はjadeがクライアント側とサーバー側の両方で使用できるが、ファイル内でクライアント側とサーバー側のテンプレートを分離する方法は知っていますか?どのようにあなたはテンプレートのクライアント部分を計算しないようにサーバー側のJadeプロセッサに指示しますか? –
私はあなたのテンプレートを整理する方法を教えてくれません。私が解決できる方法は、できる限り簡単にテンプレートを保持し、サーバとクライアントで同じテンプレートを使用することです。レイアウトはサーバー上でレンダリングされるだけですが、部分(リソーステンプレート)は意味をなさない場所でレンダリングできます。 –