【问题标题】:Changing html based on a variable value in Meteor.js根据 Meteor.js 中的变量值更改 html
【发布时间】:2016-06-04 07:25:10
【问题描述】:

我试图根据一个变量显示不同的数据集,而不改变meteor.js中的路线。

看起来像这样:

<template name="somename">
{{#if form_submitted }}
display some data
{{else}}
display other data
{{/if}}
</template>

我正在尝试使用助手来执行此操作:

Template.somename.helpers({
    form_submitted = false;
});

但是,当我运行它时,我得到一个错误。

另外,我希望在单击按钮时将变量更改为 true(然后在一定时间后刷新为 false)

有什么想法吗?

【问题讨论】:

    标签: javascript meteor routes


    【解决方案1】:

    帮助返回值的函数。 在您的具体情况下,它将是:

    Template.somename.helpers({
      form_submitted: function () {
        return true;
      }
    });
    

    也许你可以查看 Meteor 文档中关于帮助者 http://docs.meteor.com/#/full/template_helpers

    【讨论】:

      【解决方案2】:

      为此,您需要结合使用模板助手和 reactive variables

      Template.somename.onCreated( function() {
          Template.instance().isFormClicked = new ReactiveVar( false );
      });
      
      Template.somename.helpers({
        form_submitted: function () {
          return Template.instance().isFormClicked.get();
        }
      });
      
      Template.somename.events({
        'click button': function( event, template ) {
          template.isFormClicked.set( true );
          Meteor.setTimeout( function() {
            template.isFormClicked.set( false );
          }, 10000); // Reset after 10 seconds.
        };
      });
      

      【讨论】:

      • 我应该把 isFormClicked 变量放在哪里?
      • 根据我的示例,您在 onCreated 方法中定义它。然后,您可以使用您在问题中定义的 {{form_submitted}} 助手。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-29
      • 2020-01-02
      • 2019-02-02
      • 2023-01-02
      • 2016-11-01
      • 2018-10-30
      • 1970-01-01
      相关资源
      最近更新 更多