Meteor Deps.autorun表示服务器功能未定义
我从未花时间/机会真正了解Deps.autorun的范围。。。因此,我再次遇到了同样的问题,这个问题曾经困扰过我很多次(以前,我总是找到一个解决方法,绕过这个问题)。。。总之,基本上,我在服务器端定义了一个函数:Meteor Deps.autorun表示服务器功能未定义,meteor,Meteor,我从未花时间/机会真正了解Deps.autorun的范围。。。因此,我再次遇到了同样的问题,这个问题曾经困扰过我很多次(以前,我总是找到一个解决方法,绕过这个问题)。。。总之,基本上,我在服务器端定义了一个函数: serverFunc = function() {} 在客户方面,我是这样做的 Deps.autorun(function() { var test = serverFunc(); } 我收到错误消息说serverFunc未定义 有人能帮我理解为什么会这样吗 非常感谢 Deps.a
serverFunc = function() {}
在客户方面,我是这样做的
Deps.autorun(function() { var test = serverFunc(); }
我收到错误消息说serverFunc未定义
有人能帮我理解为什么会这样吗
非常感谢 Deps.autorun()
始终运行一次,然后在跟踪的任何依赖项发生更改时重新运行该函数。这些依赖关系通常需要设置为Meteor反应数据源。在客户端上未定义然后在服务器上定义的简单函数不足以重新触发
如果希望从客户端调用仅在服务器上定义的函数,则必须做两件事:
否则,客户机上不存在仅在服务器上定义的函数,在客户机上调用该函数将抛出调用未定义函数的错误。是的,我很清楚。。。但是,我可以在模板函数中调用serverFunc,例如:template.menu.test=function(){serverFunc();},它可以工作。。。那么有什么区别呢?我相信Deps.autorun在一个完全不同的范围内运行,但是它有什么不同呢?定义一个调用不存在函数的模板是一个错误,就像将一个不存在的函数放入Deps.autorun一样。不同之处在于Deps.autorun总是在启动时运行一次,而模板可能永远不会运行。内部错误处理也可能不同,因为我不知道并建议进行测试。