2

刚从流星开始。寻找一种方法来拥有一个单一的“主页”,该主页将包含一个区域,通过单击“下一个/上一个”按钮,可以在其中交换不同的部分模板。我了解如何使用 {{> step_1_Template}} 语法静态包含部分模板。我需要的是在主页上永久设置 Next/Previous 按钮,当单击 Next 按钮时 - 删除 {{> step_1_Template}} 并插入 {{> step_2_Template}}。这是怎么做到的?

4

1 回答 1

12

我的下意识反应是你应该只使用iron-router。但是,这可能只有在您根据路由换出模板时才有意义。如果您坚持使用相同的路线并且只更改部分内容,那么您可以使用会话变量来完成此操作。

当用户单击“下一步”按钮时,您可以设置会话变量,例如:

Template.myTemplate.created = function() {
  Session.setDefault('currentStep', 1);
};

Template.myTemplate.events({
  'click #next': function() {
    var step = Session.get('currentStep');
    return Session.set('currentStep', step + 1);
  }
});

然后你可以添加一个助手,如:

Template.myTemplate.helpers({
  isStep: function(n) {
    return Session.equals('currentStep', n);
  }
});

最后,您的模板可以根据会话选择适当的部分:

<template name='myTemplate'>
  {{#if isStep 1}}
    {{> step_1_Template}} 
  {{/if}}
  {{#if isStep 2}}
    {{> step_2_Template}} 
  {{/if}}
</template>
于 2014-04-07T17:58:58.247 回答