问题标签 [meteor-tracker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
236 浏览

javascript - 仅当响应式文档的特定字段发生更改时,如何运行 Tracker 计算?

当集合文档更改时,我正在使用Tracker.autorun我的 Meteor 应用程序中的函数调用。跟踪器正在工作,但是我只希望它在文档的特定属性发生更改时运行:

我只希望计算在“myProperty”的值发生变化时失效,但是只要集合的任何属性被更新,它就会被调用。

在这种情况下我不能使用Session变量,因为 的值myProperty可以由另一个连接的客户端更新。

我怎样才能做到这一点?

0 投票
2 回答
2140 浏览

meteor - Meteor.autorun vs Tracker.autorun?

Meteor.autorun和 和有什么不一样Tracker.autorun

  • 他们只是别名吗?
  • 一个被弃用了吗?
  • 有没有一个比另一个更可取的例子?

我很清楚this.autorun在模板生命周期回调中使用的区别,但是已经看到这两个可以互换使用,只是想确保我没有错过任何技巧。

0 投票
1 回答
72 浏览

javascript - 流路由器参数在钩子和订阅中没有改变

我在用

添加projectId到所有创建的任务并订阅具有指定的任务projectId

但是,当我更改projectIdwith时FlowRouter.setParam( 'projectId' ... ),我的钩子和订阅似乎projectId没有改变。

我究竟做错了什么?我必须把它放在里面Tracker.autorun()还是什么?是因为我使用onCreated而不是onRendered

0 投票
1 回答
36 浏览

javascript - 如何对 Meteor 中用户个人资料中的两个日期对象做出反应

在我的应用程序中,用户的个人资料中有一个开始和结束属性(两个日期对象,相隔几个小时)。我想让我的应用程序对这些值做出反应——例如,如果当前时间在两个时间之间,或者在开始时间的 15 分钟内,则显示一些内容。我有一种感觉,我想使用 Meteor 的 Tracker.autorun 片段,我不知道如何使用它,因为你永远不会手动更改时间,它总是在变化。

像这样的东西:

0 投票
1 回答
289 浏览

meteor - Meteor : findOne in Tracker.autorun on server crash ... 怎么办?

我想从存储到数据库中的列表中填充内存中的受限单词列表,因为希望是动态的。听起来很简单吧?不,不是!为什么 ?

这是它的简短代码:

我在这里使用 Tracker,因为就像文档中所说的那样,我想以反应模式更新我的列表。

Tracker.autorun 允许您运行依赖于响应式数据源的函数。每当使用新数据更新这些数据源时,该函数将重新运行。

但是,此方法会因我无法理解的堆栈跟踪而大量崩溃:

我究竟做错了什么 ?我应该将此报告为错误吗?

0 投票
1 回答
250 浏览

javascript - 流星放置全局tracker.autorun的位置

我想知道在哪里放置 Tracker.autorun 以保证之前加载了其他所有内容。我以为

用于这种情况,但是当我从 mdg:geolocation 引用 Geolocation 对象时,它告诉我它尚未定义:

未捕获的类型错误:无法读取 null 的属性“lng”

我使用以下解决方法,但我希望有一个更优雅的解决方案:

0 投票
1 回答
350 浏览

javascript - 如何等待meteor.helper中的计算,直到由于template.autorun中的依赖关系更改而重新计算?

当反应变量更改时,我总是收到此错误:

我怀疑罪魁祸首是w(反应变量)

看看这个:

让我们一步一步地分解......

  1. 第一次没有错误
  2. 当我更改页面时,以下依赖项将更改:Pi()
  3. 自动运行将重新运行。
  4. 因为Pi()变化,以下变量会变化:b && b.array && h && self.d.set(h.ready()) && self.w.set(b.array)
  5. 我怀疑cList是在页面更改后立即计算而无需等待自动运行重新计算完成,这就是引发错误的原因。
  6. 自动运行完成后重新计算依赖变化,cLists根据依赖变化的变化显示正确的列表。用户界面确实没有问题。但是这个警告看起来很脏。

我想避免上面的警告是在依赖项更改时等待 cList 。我怎么做?我如何等待meteor.helper中的计算,直到由于template.autorun中的依赖关系更改而重新计算?

0 投票
3 回答
516 浏览

meteor - 我可以指定 Tracker.autorun() 函数依赖的会话变量吗?

我目前有一段类似这样的代码:

此代码失败,因为foo changed即使仅bar更改,控制台也会打印其中一条消息。

必须同时使用我的. foo _ _通过手动密切关注哪些变量发生了变化。barTracker.autorun()barbarTrackerSession

0 投票
0 回答
62 浏览

meteor - 文档事件侦听器未在 Tracker.autorun() 中或模板销毁时解除绑定

通过单击页面上的任何其他位置关闭菜单后,我注意到当控制台从回调日志记录时,document.body在我移动到另一个模板并触发相同的行为后,它将“记住”以前的事件侦听器。回调dismissMenu在下面找到。例如...

第一次:

你好

第二次:

你好你好

ETC....

我在这里做错了什么?

谢谢!

0 投票
1 回答
44 浏览

meteor - 在嵌套函数内部时,停止返回函数是否​​仍然停止?

此外,如果从反应式计算中调用,以下函数返回一个带有 stop 方法的对象,在重新运行或停止计算时会停止:

Tracker.autorun (nested) Meteor.subscribe observe() 和 observeChanges() on cursors

这意味着观察在这里停止:

但是这里呢?