流星中的反应方法调用不是反应性的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流星中的反应方法调用不是反应性的相关的知识,希望对你有一定的参考价值。

我们在meteor中的助手内部使用ReactiveMethod调用。但是大部分时间没有刷新浏览器它会显示以前的数据(如果传递的参数没有改变)。这是什么解决方案?

我在下面的方法中使用帮助器

customerOutsTanding: function(){ 
return ReactiveMethod.call("outstanding",customerId); 
} 

优秀将支付使用bootstrap模态输入文本,它将关闭。但使用反应方法调用它将不会更新。刷新浏览器后它将得到更新

答案

仅在参数更改时再次调用ReactiveMethod.call。在你的情况下,参数iscustomerId没有被改变,因为它不是一个被动数据源。

您可能需要使用Tracker.Dependencyhttps://docs.meteor.com/api/tracker.html#tracker_dependency)来反复触发此功能。像这样的东西

var outstandingDep = new Tracker.Dependency;

customerOutsTanding: function(){ 
  outstandingDep.depend();
  return ReactiveMethod.call("outstanding",customerId); 
} 

然后,当您想要更改从问题中不清楚的依赖关系时,您需要调用outstandingDep.changed(),您可能需要在输入文本更改时调用。

以上是关于流星中的反应方法调用不是反应性的的主要内容,如果未能解决你的问题,请参考以下文章

如何使流星中的d3方向力图反应?

流星包中的反应组件

数组中对象的属性在所有元素都更改时是反应性的,但如果只有一些元素更改则不是

使用 Vue 在表的 td 内显示 Div 不是反应性的

流星反应开玩笑测试

反应和流星“未捕获的类型错误:无法读取未定义的属性'createElement'”