gpt4 book ai didi

javascript - 引用外部 JavaScript 模板

转载 作者:行者123 更新时间:2023-11-28 09:48:34 25 4
gpt4 key购买 nike

我正在使用jsrender作为 JavaScript 模板引擎。用法非常简单:

在 HTML 页面中,使用模板化的 HTML 内容定义脚本标记:

<script id="myTemplate" type="text/x-jsrender">
<div>{{:name}} ({{:year}})</div>
</script>
...
<body>
<div id="content"></div>
</body>

在 JavaScript 中,定义一个变量,然后针对模板调用渲染函数:

var model = {
name: "Findekano",
year: 2012
};

$('#content').html($('#myTemplate').render(model));

问题是:

我不想将模板定义保留在主机 HTML 页面中,我想将其与 JavaScript 文件一起保留在单独的文件中,以便它可以更加模块化。

我想要做如下工作:

<script id="myTemplate" 
type="text/x-jsrender"
src="template/myTemplate.html">
</script>

其中 myTemplate.html 定义必要的 HTML 模板片段。我尝试了上面的代码,但它不起作用。谁能建议一种替代方法来解决这个问题?

最佳答案

如果您不想使用 AJAX 调用并且不关心使用更多内存,那么我至少可以想到一种替代解决方案。 AJAX 可能更干净,但我想无论如何我都会把它放在那里。

document.write('<script id="myTemplate" type="text/x-jsrender"><div>{{:name}} ({{:year}})</div></script>');

如果您将其放入外部文件并通过链接它

<script type="text/javascript" 
src="template/myTemplate.js">
</script>

然后脚本会将字符串的有效脚本标记副本附加到 jsrender 实际可以访问的 DOM 中。当然,这最终会使用客户端上大约两倍的内存,但是...如果文件不是太大,那么应该不是问题。

关于javascript - 引用外部 JavaScript 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11417449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com