【问题标题】:template engine javascript and php/html模板引擎 javascript 和 php/html
【发布时间】:2011-07-30 16:56:10
【问题描述】:

最近我对 jQuery 模板引擎产生了兴趣。

对于ajax调用来说性能非常好,因为数据交换少。

但是当我第一次加载我的应用程序时,我只使用 php 和 html 来打印数据,所以要使用这种技术,我必须复制模板吗?一个用于php html,一个用于javascript?

我该如何解决这个问题?

【问题讨论】:

    标签: javascript html ajax templates


    【解决方案1】:

    可以在服务器端和客户端使用相同的模板。例如,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>
    

    【讨论】:

    • 事实上,我想避免一开始就使用 ajax 调用。 “您可以将数据模型作为 javascript 对象注入页面并将其传递给模板渲染器”是什么意思?你能举个例子吗?
    【解决方案2】:

    你可以试试Distal templating engine

    您的 HTML 页面是模板的一部分。

    <div>
      Hi, <span data-qtext="user.name">Guest</span>
    </div>
    

    当您第一次加载时,它会显示“Hi, Guest”,然后您运行模板,您可以替换“Guest”。

    【讨论】:

      猜你喜欢
      • 2011-02-23
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多