meteor方法指定返回模板车把

时间:2013-12-15 09:26:00

标签: javascript meteor

这是Meteor.startup函数中的方法

return Meteor.methods({
  whatsUp: function() {
   return "Up";
  }
});

这是触发方法的事件代码

Template.whats_up.events({
  'click .checkwhatsup': function() {
    Meteor.call('whatsUp');
  }
});

这是一个简单地将变量直接返回到DOM

的代码
Template.whats_up.up = function() {
  var whats = "Up";
  return whats;
};

我的问题是如何才能完成与上一个js代码相同的功能,

但仅在我点击按钮后。

这是html模板+把手

<template name="whats_up">
  <button class="checkwhatsup">What is Up?!</button>
  {{up}}
</template>

1 个答案:

答案 0 :(得分:1)

我认为你正在做这样的事情:

Template.whats_up.events({
  'click .checkwhatsup': function() {
    Meteor.call('whatsUp', function(res) {
      Session.set('whats', res);
    });
  }
});

Template.whats_up.up = function() {
  return Session.get('whats');
};

这个想法是使用一个被动数据源(在这种情况下,Session)来处理这个问题。您还可以更新方法中的Collection并在辅助函数中使用集合游标。这样,方法调用没有回调函数(当其他用户调用该方法时,模板可以更新)。取决于您的实际使用情况。