如何从 Meteor 中的服务器调用客户端方法?

Posted

技术标签:

【中文标题】如何从 Meteor 中的服务器调用客户端方法?【英文标题】:How to invoke a client side method from the server in Meteor? 【发布时间】:2014-07-23 08:49:03 【问题描述】:

反向(从客户端调用服务器端)很容易使用 Meteor 方法完成。

假设您想从服务器运行客户端方法,直接或作为回调。例如,用户在您的网站上注册。在服务器上注册成功后,会弹出一个模式窗口,提醒他们注册成功(我们正在尝试单页应用程序的感觉,所以不做路由器重定向)。

以前的搜索似乎说我需要创建一个反应式集合并使用observe() 监控它只是为了这个目的:

Invoke a client js function in Meteor after getting results from the server

这似乎有点骇人听闻。有没有更好的方法来做到这一点?

【问题讨论】:

这应该会有所帮助:code.subhog.com/client-call 【参考方案1】:

对于您的示例,在客户端调用 Accounts.createUser (docs) 将是注册用户并在成功或错误时调用回调的好方法。

通常,您希望客户端代码以数据为条件而不是特定服务器的状态(您可能有一天会有数十台服务器为同一个应用程序提供服务!)。

如果您的数据具有一定的真实性(例如,Meteor.userId() 不是 null,因此用户已登录),要在客户端上运行一次代码,您可以使用 Deps.autorun 表示 stop()s本身(docs)。

【讨论】:

以上是关于如何从 Meteor 中的服务器调用客户端方法?的主要内容,如果未能解决你的问题,请参考以下文章

Meteor 客户端在服务器方法中调用 findOne

Meteor 中的安全方法

Meteor 中的安全方法

如何在 Meteor 中使用客户端重新连接事件

如何使 Meteor 方法同步?

Meteor - 如何在特定时间段后从服务器端方法中自动从集合中删除单个项目?