【发布时间】:2011-07-30 16:56:10
【问题描述】:
最近我对 jQuery 模板引擎产生了兴趣。
对于ajax调用来说性能非常好,因为数据交换少。
但是当我第一次加载我的应用程序时,我只使用 php 和 html 来打印数据,所以要使用这种技术,我必须复制模板吗?一个用于php html,一个用于javascript?
我该如何解决这个问题?
【问题讨论】:
标签: javascript html ajax templates
最近我对 jQuery 模板引擎产生了兴趣。
对于ajax调用来说性能非常好,因为数据交换少。
但是当我第一次加载我的应用程序时,我只使用 php 和 html 来打印数据,所以要使用这种技术,我必须复制模板吗?一个用于php html,一个用于javascript?
我该如何解决这个问题?
【问题讨论】:
标签: javascript html ajax templates
可以在服务器端和客户端使用相同的模板。例如,mustache 有多种语言的实现,包括 PHP 和 Javascript。但总的来说,我发现坚持一种方法更容易。
如果您仍然使用 jQuery 模板在客户端上呈现,为什么不第一次使用 Javascript 呈现。为避免需要额外的 AJAX 调用,您可以将数据模型作为 javascript 对象注入到页面中,并将其传递给模板渲染器。
这是一个例子。 json_encode 函数应该对此很有用。
<script type="text/javascript">
// This line gets generated by your PHP code.
// You'll want to use the JSON methods instead of generating it by hand.
var myModel = { name: 'Fred', surname: 'Bloggs' };
$(document).ready(function() {
// Here you render the template using the data that's
// already in myModel
});
</script>
【讨论】:
你可以试试Distal templating engine。
您的 HTML 页面是模板的一部分。
<div>
Hi, <span data-qtext="user.name">Guest</span>
</div>
当您第一次加载时,它会显示“Hi, Guest”,然后您运行模板,您可以替换“Guest”。
【讨论】: