我有服务器和客户端模板的想法,但是ust.js使我有些困惑。
为了将灰尘.js用于客户端模板,您需要三个步骤:
对?
但是模板从哪里来?我看到了两种不同的方法:
1. <script> template <script> 2. <div> template </div>
…两者都在DOM中。哪个是正确的?
我还注意到您可以通过ajax加载模板,因此该模板不会在DOM中显示,但是我不知道该怎么做。
另外,我目前正在使用玉作为快速视图引擎。是否有必要切换到dust.js?有什么好处?
这是LinkedIn Dust JS Wiki页面,可以回答您的问题,并提供了很好的示例:http : //linkedin.github.com/dustjs/
但是在这里回答您的问题:
是的,您需要编译您的灰尘模板,该模板成为一个JavaScript文件,您可以按<script>标记将其添加到页面中,然后调用 dust.render 方法呈现模板。这是一个例子:
<script>
在模板文件中编写以下代码,并将其另存为 sample.tl
<p>Hi {firstName} {lastName}</p>
dustc sample.tl在命令行中通过将sample.tl编译为sample.js 或用于dust.compile("your_template_code", "template_name")编译模板并将输出保存在JavaScript文件(sample.js)中,或者使用ustust.js通过nodejs监视和编译模板:https:// github .com / dmix / dusterjs
dustc sample.tl
dust.compile("your_template_code", "template_name")
在您的html中添加sample.js:
<script type="text/javascript" src="sample.js"></script>
这也会将您的模板注册到dust.cache。
在您的JavaScript中:
var your_json = {firstName:'James', lastName:'Smith'};
dust.render(‘sample’, your_json, function(err, out){
your_dom_element.innerHTML = out;
});
以上dust.render方法的结果将是 <p>Hi James Smith</p>
dust.render
<p>Hi James Smith</p>
因此,您需要将3个参数传递给dust.render:dust.render(template_name, json, callback)
dust.render(template_name, json, callback)