通过使用
<script type="text/template" id="templateid">
<!-- Template content goes here -->
</script>
该代码运行良好。
但是,如果我将模板作为外部文件
<script type="text/template" id="templateid" src="template.js"></script>
这不会工作。
上面两种方法之间有什么区别,我又如何解决这个问题?还是我在这里错过了可能很明显的东西?
最佳答案
如果您只是想通过使用各种示例中的$("#templateid").html()
之类的内容来获取模板文本,则只有当文本确实在<script>
标记中内联时,此方法才有效。
通常,不可能使用<script>
标记获取远程文件的内容。
如果要加载外部模板,则必须使用代码显式获取内容(例如,使用JQuery的$.get()
或带有文本插件的require.js)。
这是有关如何在Backbone上下文中获取外部模板的更多详细信息:
但是,请小心-过度使用此解决方案将导致许多其他要求来获取模板,从而导致应用程序运行缓慢。通常,以通常的方式嵌入模板(在
<script>
标记中内联)对于性能而言会更好。
关于backbone.js - 单独的模板文件不使用主干和下划线呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17316252/