javascript - 如何避免 Meteor 助手运行多次

标签 javascript meteor

在我的模板中我有这个 HTML:

<input id="name"   type="text" value="{{card.name}}">
<input id="prefix" type="text" value="{{card.prefix}}">
<input id="phone"  type="tel"  value="{{card.phone}}">

和这个 JavaScript

Template.cardForm.helpers({
  card: function() {
    return getCard();
  }
});

var getCard = function() {
    console.log("I'm here !!!");
    return Cards.findOne({_id: cardId});
} 

当我运行我的应用程序时,console.log 显示“我在这里 !!!” 3 次,我认为 Ecards.findOne() 执行了 3 次。

我怎样才能避免那些额外的电话?

我想获取卡片对象以填充 {{card.name}}{{card.prefix}}{{card. phone}},但只调用一次 getCard()

最佳答案

card 帮助程序被执行多次,因为 card 在评估的模板代码中出现不止一次。

在您遇到的这种情况下,避免重复调用的一种模式是使用 #with:

{{#with card}}
  <input id="name"   type="text" value="{{name}}">
  <input id="prefix" type="text" value="{{prefix}}">
  <input id="phone"  type="tel"  value="{{phone}}">
{{/with}}

这将调用一次 card,然后在其结果的上下文中运行嵌套代码。

关于javascript - 如何避免 Meteor 助手运行多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33464179/

相关文章:

javascript - meteor JS : How do I access the previous record in a collection?

javascript - Chrome - devtools 时间线中的事件时间与性能计时 API 之间的差异

javascript - 定位多个类之一/仅类字符串的一部分 - className 与 classList

javascript - 是否可以设置 cssRule 的 cssText 属性

android - meteor 如何与 android 应用程序耦合?

javascript - 调用方法时出现异常 'Mongol_verifyDoc' ReferenceError : Match is not defined

javascript - 如何正确配置 next.config.js 文件

"type"或 "rel"的 Javascript onload 回调,脚本或链接标记上的 'text/plain'

javascript - 如果所有者是meteor js,则显示模板中的元素

mongodb - 即时创建新的 Meteor 集合