これは、クライアント側とサーバー側のテンプレートを使用するのは非常に簡単です。いくつかのWebアプリを構築するときは、ajaxを使用してデータを取得し、コールバック関数を使用して処理する必要があります。したがって、これらのデータをクライアント側でレンダリングする必要があります。
問題は、クライアント側でそれらをどのようにレンダリングするかです。
これで、クライアント側のjade.jsが必要になります。
このドキュメントに従ってください: https ://github.com/visionmedia/jade#readme
初め
git clone https://github.com/visionmedia/jade.git
2番
$ 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.
第3
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
このデモを読んだ後、jadeサーバー側とクライアント側を分離する方法を知っていると思います。どちらがjadeテンプレートをコンパイルするかを理解できれば、すべての質問は簡単です。
* .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 );