1.Closure Templates是干什么用的?
它是一个客户端和服务器端的模板系统,用来动态创建可复用的HTML和UI元素。
2.为什么要使用Closure Templates?
2.1 模块化------相对于传统的模板系统中需要为每个页面创建一个整体模板,Closure Templates是模块/组件化的,你可以从视图显示的角度来分解应用程序的逻辑,并创建自己的用户界面。
2.2 同时适用多个语言--------用户可以在客户端和服务器端适用相同的模板,模板中可以使用JS脚本语言或Java。
2.3 在客户端的高效运行-------Closure Templates会被预编译成高效的JS脚本,以求最大化客户端的显示效果。
2.4 模板之间可以相互调用。
3.如何创建一个Closure Template并用JS调用?
3.1 下载closure-templates-for-javascript-latest.zip
这个文件包括:SoyToJsSrcCompiler.jar
把Closure Template编译成高效的脚本。
soyutils.js 脚本代码会使用到这些工具。
3.2 将上面的文件放入自己的工作目录(helloworld_js)里。
3.3 在工作目录中创建 sample.soy文件。(所有包含Closure Templates并以soy后缀结尾的文件就是soy文件)
在sample.soy文件中添加一行 {namespace examples.simple}。这表示了在这个文件中使用到的模板的命名空间。
3.4 试着写第一个模板的内容,例如:
/**
* Says hello to the world.
*/
{template .helloWorld} 这是模板名字的一部分,结合前面的命名空间,模板的全名是:examples.simple.helloWorld
Hello world!
{/template}
3.5 使用命令将模板编辑成JS脚本:
~/helloworld_js$ java -jar SoyToJsSrcCompiler.jar --outputPathFormat simple.js --srcs simple.soy
这个命令产生的simple.js文件,通过examples.simple.helloWorld()来渲染模板内容。
模板的内容、逻辑会在 .js 文件中得以体现。
注意:.js 文件是.soy 自动产生的,不要再去编辑. js 文件!
3.6 在自己的工作目录 helloworld_js中,创建一个HTML文件,内容如下:
The Hello World of Closure Templates
soyutils.js">