首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Meteor Route.go()保存了所有以前的JS代码

Meteor Route.go()保存了所有以前的JS代码
EN

Stack Overflow用户
提问于 2014-12-06 10:56:47
回答 2查看 209关注 0票数 0

我只是注意到,当我在Meteor中执行Route.go()时,它保留了前一页的所有模板处理程序/事件/呈现JS代码。

例如,在Route.go()之前的前一页,我有一个setInterval(.)每x秒跑一次。

在Route.go()之后,这个setInterval继续触发,但是由于所需的元素不再存在,它只是不断地生成错误。

这是故意的吗?我怎样才能重新开始?

注意:这也适用于单击链接,因为从技术上讲,这也是一条路由(如果链接是作为路由创建的)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-06 18:01:26

使用Router.go并不等同于单击超链接或发出服务器端重定向.

通常情况下,Route.go会像一个非绑定的超链接(即物理上发出一个新的GET请求),或者发出服务器端301,但这不是铁路由器的工作方式。

它将在当前加载的窗口环境中处理路由,通常使用HTML5 pushState交换URL,但处理Meteor内部的路由。

这意味着,除非显式停止处理程序,否则任何现有的setIntervals或其他“全局”事件都将继续运行。

票数 0
EN

Stack Overflow用户

发布于 2014-12-06 11:45:51

如果您用Meteor.setInterval()设置了一个间隔,那么您必须自己用Meteor.clearInterval()清除它。

去看看医生

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

https://stackoverflow.com/questions/27330887

复制
相关文章

相似问题

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