首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当addFiles在Meteor中时html文件必须放在js文件之前

为什么当addFiles在Meteor中时html文件必须放在js文件之前
EN

Stack Overflow用户
提问于 2015-07-31 14:53:31
回答 1查看 38关注 0票数 0

我正在创建一个流星包,非常简单的一个像

代码语言:javascript
复制
  api.addFiles(['errors.js', 'errors_list.html', 'errors_list.js'], 'client');

我注意到如果我将上面的代码更改为

代码语言:javascript
复制
  api.addFiles(['errors.js', 'errors_list.js', 'errors_list.html'], 'client');

流星说:Template is not defined

很难找出造成这一错误的原因。为什么js文件不能放在addFiles中的html文件之前呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-01 07:40:39

使用Spacebar(默认模板引擎)时,模板在HTML文件中定义:

代码语言:javascript
复制
<template name="fooTemplate">
  ...
</template>

然后,您可以从其他地方访问该模板,无论是HTML还是JS:

代码语言:javascript
复制
<!-- HTML file -->
{{> fooTemplate}}

//JS file
Template.fooTemplate

如果在创建模板之前尝试执行这样的访问,则会失败。

流星包按顺序加载文件。这就是您控制加载顺序的方法。

如果在定义模板之前尝试使用它,那么它就是undefined,当您尝试访问它(类似于fooTemplate is undefined的内容)时,它会抛出一个异常。

因此,与编程中的所有内容一样,总是先初始化,然后使用

将HTML文件放在JS之前,您就可以开始了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31749186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档