使用Client端+Server端模板非常好用。当我们在构建一些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
看完这个demo我想你应该知道jade服务器端和客户端是怎么分开的了
也许你现在还有一个问题。如何在 *.jade 中编写一些翡翠模板代码?文档也为我们提供了一种方法。本教程可能会对您有所帮助。
索引.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 );