【问题标题】:MeteorJS Rendering With DataMeteorJS 用数据渲染
【发布时间】:2014-08-04 21:09:51
【问题描述】:

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

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/

【问题讨论】:

    标签: templates meteor rendering


    【解决方案1】:

    您为模板定义的助手优先于其数据上下文。因此,当您将numbers 定义为模板的助手时,将忽略作为上下文赋予此模板的值。

    助手不是“默认值”。

    【讨论】:

    • 我实际上有一个生成数字数组的函数问题是当我重新渲染模板时它不会从函数中获取其他数字我真正的模板助手看起来像这样:Template.tiketa.helpers ({ 数字: Tiketa() });其中 Tiketa() 函数生成一个随机数组。
    • 也许我是一个新程序员,我不太了解你。如果你能更简单地向我解释,如果你能建议我想做的另一种方法。 P.S 所有这些想法都来自这篇帖子empire5.com/development/…
    • @user1898399 当您提供[1,2,3,4,5,6,7,8] 时,它们会用[11,12,13,14,15] 覆盖您提供的那些,因为.helpers 具有更高的优先级,它们优先于数据上下文(使用UI.renderWithData 的那个) . 因此,即使您使用 Tiketa() 也会发生这种情况。您是否考虑过使用 Session (docs.meteor.com/#session) 来传递您的数字?文档中有一个示例说明如何在 .get 部分下使用它跨度>
    猜你喜欢
    • 2014-06-27
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2018-11-17
    相关资源
    最近更新 更多