根据Meteor.js中的变量值更改html

时间:2016-02-22 18:17:05

标签: javascript meteor routes

我试图根据变量显示不同的数据集,而不更改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)

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您希望使用模板助手和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.
  };
});

答案 1 :(得分:0)

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

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

也许您可以查看有关助手http://docs.meteor.com/#/full/template_helpers

的Meteor文档