【问题标题】:Calling a function in Iron Router controller在 Iron Router 控制器中调用函数
【发布时间】:2015-01-09 04:06:29
【问题描述】:

我订阅了 Iron Router 控制器(版本 1.*)的 waitOn 函数。

此订阅从集合中获取 DOB。

我有一个全局函数,除了在控制器内部之外,还需要根据这个 DOB 进行计算。

我该怎么做:

(1) 在控制器外部访问此订阅并执行 findOne 以在全局函数中获取 DOB。

(2) 从全局函数调用 IR 控制器上的函数,该函数有权访问订阅

note1:我不只是在 IR 控制器中执行所有逻辑(我在那里用 DOB 执行一些逻辑)的原因是因为还有其他外部资源也需要此信息(希望这是有道理的)。

注意2:如果可能的话,我宁愿不将 DOB 存储在会话变量中。

如果有帮助,我可以提供代码,但这只是一个标准的 IR 控制器和全局函数。

【问题讨论】:

  • 是的,请提供一些代码,也许还可以说明您到目前为止所尝试的内容。例如,你为什么不能只查询你想要的函数中的集合?那部分我不清楚。
  • 这正是我所做的......我只是在一个函数中做了一个 findOne......我想我感到困惑的部分是,与订阅相关的集合......对于例如我有两个订阅,一个只获取 DOB,另一个获取整个记录集(到目前为止,这些调用位于两个不同的模板中)......我如何区分两者。只需将此作为您的答案发布,如果您愿意,我会接受。

标签: javascript meteor iron-router meteor-blaze


【解决方案1】:

看起来我可以在全局函数中调用 findOne 并且可以访问订阅...我唯一感到困惑的是,全局函数如何区分集合,一个订阅其他。

我在这里发布了另一个相关的后续 SO 问题:Meteor and Iron Router subscription queries

【讨论】:

    猜你喜欢
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多