javascript - 使用 JavaScript 的模板字符串

标签 javascript html templates

我正在编写一个带有一些客户端 JS 的应用程序,我经常使用它来更新 DOM。

事情是做这样的事情:

$('#id').html('<div class="' + class + '">' + content + '</div>');

多次将 HTML 随机放置在您的 JavaScript 周围不是很漂亮且难以维护。

Lithium 在其 View 助手中处理此问题的方式是否有 JavaScript 等效(或替代解决方案)。

参见:

例如。

基本上在 PHP 版本中,您会创建一个关联的常用字符串数组和一个简单的替换方法,以用同名变量替换这些字符串的某些标记部分。

另一个愚蠢的例子(伪代码:)

var strings = {
    'div': '<div {:attr}>{:content}</div>'
};
console.log(render('div', {id: 'newElem'}, 'Hello, World!'));
// Output: <div id="newElem">Hello, World!</div>

如果您对如何处理在 JavaScript 中存储 HTML 并防止它到处乱跑有任何更好的建议,那么我非常想听听。

最佳答案

是的,使用 jQuery templatesUnderscore templates (我最喜欢的) 或任何其他 JS templating engine在那里。

另外,检查这个问题以获得关于模板引擎性能的讨论:Improve jQuery template performance

关于javascript - 使用 JavaScript 的模板字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6984873/

相关文章:

javascript - 如何在类名更改时再次执行js代码?

c++ - 具有可变参数模板的数据结构

c++ - 我无法访问指向成员的指针。为什么?

c++ - 如何定义使用模板类但没有该类的所有参数的模板函数?

javascript - 在 javascript 中选择框日期验证

javascript - 具有默认值的屏蔽输入插件

javascript - 在内联脚本之后如何正确注册 yii2 项目中的 js 代码?

javascript - 如何自动将 CSS 应用于 console.log 着色

javascript - 如何为隐藏的输入和自定义标签提供相同的行为

html - 根据第一个 div 的长度对齐两个 div