我正在创建一个流星包,非常简单的一个像这
api.addFiles(['errors.js', 'errors_list.html', 'errors_list.js'], 'client');我注意到如果我将上面的代码更改为
api.addFiles(['errors.js', 'errors_list.js', 'errors_list.html'], 'client');流星说:Template is not defined。
很难找出造成这一错误的原因。为什么js文件不能放在addFiles中的html文件之前呢?
发布于 2015-08-01 07:40:39
使用Spacebar(默认模板引擎)时,模板在HTML文件中定义:
<template name="fooTemplate">
...
</template>然后,您可以从其他地方访问该模板,无论是HTML还是JS:
<!-- HTML file -->
{{> fooTemplate}}
//JS file
Template.fooTemplate如果在创建模板之前尝试执行这样的访问,则会失败。
流星包按顺序加载文件。这就是您控制加载顺序的方法。
如果在定义模板之前尝试使用它,那么它就是undefined,当您尝试访问它(类似于fooTemplate is undefined的内容)时,它会抛出一个异常。
因此,与编程中的所有内容一样,总是先初始化,然后使用。
将HTML文件放在JS之前,您就可以开始了。
https://stackoverflow.com/questions/31749186
复制相似问题