jQuery 自定义小部件 : how can I include a html template?

标签 jquery templates jquery-plugins jquery-widgets

我一定错过了一些基本的东西,但是在开发自定义 jQuery 小部件时,我们如何像使用 dojo 自定义小部件一样包含 html 模板作为小部件的一部分?目前,我的 jQuery 自定义小部件正在 JavaScript 中生成所需的 html,我正在尝试将其取出到 html 模板中并将其包含在自定义小部件中。想法?

最佳答案

您可以查看Handlebars.js 。这是一个 jQuery 模板插件,语法非常简单

使用script标签声明一个Templae

  <script id="entry-template" type="text/x-handlebars-template">
    <div class="entry">
        <h1>{{title}}</h1>
        <div class="body">
           {{body}}
        </div>
    </div>
  </script>

然后像这样获取并编译该模板

  var source   = $("#entry-template").html();
  var template = Handlebars.compile(source);

然后您可以通过像这样传递 palceholders 数据来呈现该模板

 var context = {title: "My New Post", body: "This is my first post!"}
 var html    = template(context); 

此后,您将在 html 变量中获得完整的 html 变量,您可以在任何 jQuery DOM 操作方法(例如 $.append)中使用该变量。

Working Fiddle

关于jQuery 自定义小部件 : how can I include a html template?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10725742/

相关文章:

css - MMenu 宽屏菜单不滚动

javascript - 如何使用 jquery 选择具有或不具有特定 'alt' 属性的图像

templates - 在 helm 图表中附加 yaml anchor

c++ - 非指针函数类型可以是非类型参数吗?

javascript - 自动更新主干下划线模板

javascript - CommonJS - 如何将 jquery 和 jquery-plugin 组合到 $ 命名空间中

javascript - 在 html 表单中存储和加载选定元素的正确方法是什么?

javascript - 如何在 side Array 中创建一个对象并将其推送到 object-javascript ?

javascript - 如何每 n 秒将一个新字符串从数组滑动到一个句子中?

jquery - JavaScript 未运行或工作?