2017-03-27 90 views
0

我在我的流星应用以下逻辑:流星火焰获取数据,并更新模板

Template.configs.events = { 
     'click li': function(e, template) { 
      Meteor.call('getMaster', uri, function(err, response) { 
      // Template.set(response) 
     }); 
     } 
    }; 

列表上的用户点击后,一个JSON对象通过Ajax返回。我将如何动态地将这个对象注入模板?有没有设计模式?

预先感谢您。

回答

2

您可能会通过模板的反应变量处理此类返回数据。使用你的代码,我写了一个“全”的例子显示了初始化,设置和获取此类瓦尔的:

Template.configs.onCreated(function() { 
    this.foo = new ReactiveVar(); 
    this.bar = new ReactiveVar(); 
}); 

Template.configs.helpers({ 
    foo() { 
     return Template.instance().foo.get(); 
    }, 

    bar() { 
     return Template.instance().bar.get(); 
    } 
}); 

Template.configs.events({ 
    'click li': function(e, template) { 
     Meteor.call('getMaster', uri, function(err, response) { 
      let foo = response.foo; 
      let bar = response.bar; 

      template.foo.set(foo); 
      template.bar.set(bar); 
     }); 
    } 
}); 
+0

谢谢你,我有点设法建立同样的解决方案,但与无功字典,而不是反应变种。虽然我无法弄清楚其中的差异。 – AppRoyale

+0

他们是相似的。字典只是简单地给出了一种被动的方法来将一堆键/值对象保存为一个单一的东西。例如也许你有一些未知数量的反应式汽车;你不能为每个变量创建一个反应变量,因为你事先不知道你会有多少人。 – zim