2014-06-14 53 views
0

嗨大家我想重新渲染MeteorJS上的模板,我使用UI.renderWithData。 下面的代码是我得到的,问题是,我用这个UI.renderWithData(Template.numbers,{数字:[11,12,13,14,15]})RERENDER模板它不会改变数字值的数值保持为([1,2,3,4,5,6,7,8]),他们在开始的时候。 我错过了什么?MeteorJS随着数据呈现

Template.numbers.helpers({ 
      numbers: [1,2,3,4,5,6,7,8] 
     }); 

Template.numbers.events({ 
    "click #Generate" : function(e){ 
     e.preventDefault(); 
     instance = UI.renderWithData(Template.numbers, {numbers : [11,12,13,14,15]}) 

     UI.insert(instance, $('#numbers')[0]); 
    } 
}) 

我来到这对于本教程:您定义模板 http://empire5.com/development/meteor-rendering-a-handlebars-template-with-dynamically-loaded-data/

回答

1

助手优先于它的数据上下文。因此,当您将numbers定义为模板的帮助器时,将忽略为此模板作为上下文提供的值。

帮手不是“默认”。

+0

我实际上有一个函数,生成的数字问题是当我重新渲染模板,它不会从功能其他数字我真正的模板助手看起来像这样:Template.tiketa.helpers({数字:Tiketa ()}); Tiketa()函数生成一个随机数组。 –

+0

也许我不是很了解你,因为我是一个新的程序员。如果你可以更简单地向我解释,并且如果你可以建议另一种方式来做我想做的事情。 PS所有这个想法都来自于这篇文章http://empire5.com/development/meteor-rendering-a-handlebars-template-with-dynamically-loaded-data/ –

+2

@ user1898399当你给出[[1,2 ,3,4,5,6,7,8]''他们用'[11,12,13,14,15]'覆盖你给的',因为'.helpers'具有更高的优先级,它们优先于数据上下文(用'UI.renderWithData'取得的,所以即使你使用Tiketa()也会发生这种情况,你有没有考虑用'Session'(http://docs.meteor.com/#session)来传递你的号码?有关如何在.get部分下使用它的文档中有一个示例 – Akshat