如果我在 index.html 中添加以下代码,那么它工作正常,但我想在外部文件中定义,然后我想用can.view
.
<script type="text/mustache" id="todosList">
{{#todos}}
<li>{{description}}</li>
{{/todos}}
</script>
如果我创建单独的 html 文件,如何从中加载模板?
如果我在 index.html 中添加以下代码,那么它工作正常,但我想在外部文件中定义,然后我想用can.view
.
<script type="text/mustache" id="todosList">
{{#todos}}
<li>{{description}}</li>
{{/todos}}
</script>
如果我创建单独的 html 文件,如何从中加载模板?
can.view
可以直接从 URL 加载模板。从 can.view 文档:
从 url 加载模板
要从 url 加载,只需将模板的位置传递给 can.view。模板的位置需要一个与模板类型相匹配的扩展名:
document.getElementById('recipes') .appendChild(can.view('templates/recipes.ejs', recipeData ) )
注意:如果您使用的是 RequireJS,则 URL 将相对于它的 baseUrl。
在你的情况下,如果你命名你的文件todos.mustache
并且它在templates
目录中,它看起来像这样:
document.getElementById('todos') .appendChild(can.view('todos.mustache', recipeData ) )
$('target-element').html(can.view('todosList', todolist-data))
这是在 canJS 中加载外部模板的语法。