问题标签 [client-side-templating]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 基于嵌套 json 构建 JavaScript 下拉菜单
我正在尝试从 json 对象构建 html。我的 json 将采用以下结构。
从这个 json 我需要通过检查属性 IsDropDown 和 1 个锚链接 (IsDropDown == false) 来构建 2 个下拉列表。请记住,属性对象(Property1)的长度不是固定的,甚至属性中的嵌套对象也不是固定的。所以我需要一个或多个模板来解决这个问题。
从上面的 json 输出应该像 2 个下拉列表,第一个下拉列表包含值 Drp1Value1、DrpValue2 和第二个下拉列表,包含值 Drp2Value1 和 DrpValue2。如果 IsDropDown 为 false,则使用 json 对象中的 href 构建一个锚标记(不应在上面的 json 2 下拉列表中允许重复,每个下拉列表有 2 个值,并构建一个锚标记 sho.lud)
我无法更改 json 结构,因为它来自第三方 api。是否可以使用任何模板框架作品?我尝试了 jTemplate 和 mustache.js 但我做不到。
javascript - 脚本标签属性 - javascript
我正在尝试了解模板的基础知识并遇到以下问题。当我尝试将ID
或/和type
属性附加到<script>
我的 HTML 代码中的标记时,它不起作用:
我在 chrome/firefox/IE9/Opera 中运行了它,但它们都没有解析标签之间的<script>
代码。浏览器认为它只是一个文本字段。当我删除ID
和type
属性时,它再次被正确解析。
我可能错过了一些非常基本的东西......
node.js - 将目录中的javascript文件与节点uglify + watch合并?
目标:
我正在尝试为客户端模板开发构建一个轻松的工作流程。
文档根:
我们从/views/uncompiled/
这是我可以构建东西的地方,/views/uncompiled/index.html
例如。
我正在构建dust.js模板,所以我也在使用dusterjs来监听我的目录中的变化/views/uncompiled/
,并自动在我的目录中呈现已编译*.js
的对应项/static/js/compiled/
。
因此,只要保存更改就会/views/uncompiled/index.html
呈现出来。/static/js/compiled/index.js
问题:
我layout.html
的越来越大了。*.js
每次添加另一个模板时,我都需要包含一个新脚本:
解决方案:
在文件夹上使用另一个手表/static/js/compiled/
也会自动连接*.js
成一个单曲app.js
,只要该文件夹的内容发生变化,它就会始终包含在我<head>
的文件夹中:
问题:
我想使用像Uglify.js这样也可以进行压缩的连接工具。
- 是否有任何节点包可以自动化上述解决方案?
- 是否有Uglify.js的本机功能已经做到了这一点?
javascript - 在dust.js(linkedin-fork)中格式化数字和日期
如何在dust.js 模板中格式化数字、货币或日期值?
数据:
模板:
像这样:(使用moment.js)
或四舍五入一些价格价值*
数据:{价格:56.23423425}
模板:
价格:{price.toFixed(2)}
jquery - 是否有任何干净的方法来获取放置在使用 jQuery 中的 HTML 模板?
根据 Nicholas Zaka 的书 'Maintainable JavaScript',我知道在我的页面中放置一个小型 HTML 模板的最佳方法是添加如下内容:
我更喜欢这种方法,而不是将我的模板放入<body>
并使用 css 隐藏它们,因为这些仍然会显示在像 dillo 这样的浏览器中。
我目前使用 jQuery 获取它们的方式是:
我尝试过但不起作用的事情是:
我现在的解决方案有效,但在我看来并不是很优雅。最好的方法是什么?
javascript - html/javascript:常规 html 中的模板选项
将项目从 django 转换为烧瓶 API 后端 + 主干.js 前端
能够{% include %}
在 HTML 中执行选项以使其更加模块化,这很好,即我能够分离出离散的 navbar.html、base.html 等。
如果我只是在 HTML / JS 中构建前端,是否有一种简单的方法可以在没有 Web 框架的情况下重新创建相同的结构?
javascript - 脚本标签中的客户端模板。优点缺点?
只是对将单页 Java 应用程序的客户端模板放在 HTML 文件的脚本标记中的当前趋势感到好奇。似乎是一种有趣的方法,但这是否被认为是最佳实践(或至少是更好的实践)?我试图列出优点和缺点的清单,但坏处似乎超过了好处。所以我看到它的方式是这样的:
好处:
- 只有一个请求来获取所有模板,而不是每个模板文件的单独异步请求。
缺点:
- 如果所有模板都在一个位置,则创建一个潜在的合并故障点/瓶颈文件
- 在一个文件中编辑模板有点麻烦
- 与使用键盘快捷键打开文件相比,查找所需模板有点麻烦。
- 必须等到 DOM 准备好之后才能对模板进行任何操作。
似乎通过将它们放在脚本标签中,您可以预编译和缓存您的模板,因此您只需查询一次 DOM 即可获取每个模板。但是,您不能使用 AMD / Require 和 require/text 来达到相同的效果吗!还是道场/文本!?在后一种情况下,您只会懒惰地加载每个模板一次。然后,您可以缓存它并在那时预编译它。
我只是很难在脚本标签中看到模板的许多优点。我错过了什么吗?
javascript - 在现有的 codeigniter hmvc 应用程序中实现 requirejs 和客户端模板
一段时间以来,我们一直在研究一个 codeigniter hmvc 项目,它已经发展成为许多后端模块和控制器。对于前端,我们一直在应用常规的 jQuery 和插件方法以及用于前端交互和 Ajax 相关任务的内联脚本。此外,我们在 JS 中使用 HTML 字符串作为我们的模板方法。
但是由于现在应用程序已经变大了,我们需要为我们的客户端代码采用模块化方法,同时实现一个构建系统来优化 JS 代码。在我们的研究中,我们发现了一些可以帮助我们开始管理代码的候选者。我们将 requirejs 用于依赖管理和我们正在考虑使用 out of handlebars/moustache/dust.js 的模板。
但是,似乎大多数使用 require 和模板的应用程序都是基于主干的,并且基本上是一页 Web 应用程序。那么,我们如何实现前端模块化和模板作为我们已经工作(并且正在增长)的 Codeigniter hmvc 应用程序的一部分?
javascript - 只使用 Angular.js 模板,而不使用整个框架?
是否可以将 Angular.js 模板(ng-show
、、ng-if
等)编译为接受对象并返回 HTML 的独立函数?像 Handlebars、Underscore.js 模板等其他模板语言一样吗?
我想在其他不使用 Angular.js 的应用程序中使用相同的模板
data-binding - 如何在dust.js模板中使用javascript函数?
我正在使用dust.js 来做客户端模板。我想在我的模板中使用一个 javascript 函数,该函数会在模板中获取它的参数,即
前任:
在这种情况下,模板和 json-data 都是从服务器发送的,模板化发生在客户端。
在上面的示例中,我将从 json 数据中获取“id”,并希望显示与该 id 对应的用户名。
我是模板新手。我想知道如何使用dust.js 来做到这一点。
谢谢 :)