Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据Meteor.js中的变量值更改html_Javascript_Meteor_Routes - Fatal编程技术网

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

Javascript 根据Meteor.js中的变量值更改html,javascript,meteor,routes,Javascript,Meteor,Routes,我试图基于一个变量显示不同的数据集,而不改变meteor.js中的路径 看起来是这样的: <template name="somename"> {{#if form_submitted }} display some data {{else}} display other data {{/if}} </template> 然而,当我运行这个时,我得到一个错误 此外,我希望在单击按钮时将变量更改为true(然后在一定时间后刷新为false) 有什么想法吗?帮助返回值的函数

我试图基于一个变量显示不同的数据集,而不改变meteor.js中的路径

看起来是这样的:

<template name="somename">
{{#if form_submitted }}
display some data
{{else}}
display other data
{{/if}}
</template>
然而,当我运行这个时,我得到一个错误

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


有什么想法吗?

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

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

也许您可以查看有关帮助程序的Meteor文档

您需要使用模板帮助程序的组合,为此:

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}}帮助器。
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.
  };
});