这很容易使用客户端+服务器端模板。当我们构建一些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
阅读本演示中,我认为你应该知道如何单独玉服务器端和客户端后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和浏览器中使用。 – 2012-04-17 11:07:51
我知道玉可以用于客户端和服务器端,但如何分离文件中的客户端和服务器端模板?你如何告诉服务器端Jade处理器不要计算模板的客户端部分? – 2012-04-17 11:13:38
我不能告诉你如何组织你的模板,我解决这个问题的方式是尽可能保持模板简单,并在服务器和客户端使用相同的模板。布局只能在服务器上呈现,而部分(资源模板)可以呈现在合理的位置。 – 2012-04-17 11:42:37