流星:检查是否定义了集合
Meteor: Check if collection is defined
有一个复杂的方法函数,它从不同的集合中获取一些数据。这些集合在某些(可选)包中定义。现在我需要检查集合是否已定义 - 这意味着包已添加到项目中。
我尝试使用if
,但这不起作用。我仍然收到错误Articles is not defined
并且脚本中止。
Meteor.methods({
data: function () {
if (Articles) {
Articles.find(
{ parent: null },
{ fields: { title: true } }
);
}
}
});
有
几种方法可以执行此操作,具体取决于集合的定义方式。假设它是一个全局变量,你应该能够像这样安全地测试它:
var root = Meteor.isClient ? window : global;
if (root.Articles) {...}
另请参阅按引用列出的集合。
使用 typeof
检查它是否undefined
。
'use strict'; // Just to make sure we would get a reference error
if (typeof Articles === 'undefined') {
document.querySelector('pre').innerText = 'No articles here';
}
<pre>Articles?</pre>
相关文章:
- 在HTML集合上迭代,以便在构造函数中动态定义值
- 司 司长.使用 find() 时返回未定义的集合实例
- 无法处理Knockout.js Observable Array中未定义的集合
- Backbone.js-集合未定义
- Meteor前端未定义Mongo集合
- MeteorJS集合未定义
- 流星:检查是否定义了集合
- 为什么 .fetch() 未为集合定义
- 主干集合在调用 fetch() 时给出“未定义的 Ajax”错误
- 在 Meteor.com 上部署后,集合将变为未定义
- 将模型添加到木偶项视图定义之外的主干集合
- 尝试创建关系时未定义的集合
- 流星:发布中未定义的集合
- 如何使用 JavaScript 配置 DocPad 集合?“警告:自定义集合 XYZ 不是有效的集合实例”
- Harmony 集合未在 NodeJS 5 中定义
- 骨干收听自定义集合
- 在Backbone.js集合上引发自定义事件并传递数据
- Backbone.js集合获取'这个_byId'未定义
- backbone.js-集合视图给出"TypeError:无法读取属性'el'未定义的“;错误
- each()函数未在此集合上定义