【问题标题】:Routing for multi step process [closed]多步骤流程的路由[关闭]
【发布时间】:2023-03-24 15:21:01
【问题描述】:

编辑:缩短并澄清了问题。

在我的 Meteor 应用中使用 Iron Router 实现以下目标的最实用方法是什么:

  • 条件 A - 显示模板 A
  • 条件 B - 显示模板 B
  • 否则 - 显示模板 C

对于单个 URL,用户无法直接输入“/url-a”或“/url-b”或“url-c”来显式选择视图/模板。

【问题讨论】:

  • 啊,最好的状态。在没有 cmets 的情况下投票和关闭请求...
  • 编辑:缩短并澄清了问题。

标签: meteor iron-router


【解决方案1】:

鉴于您提供的信息有限,我想不出比您路线中的以下逻辑更短的内容了:

if ( A ) this.render('templateA');
else if ( B ) this.render('templateB');
else this.render('templateC');

这假设您有一个带有布局的路线,并且您正在将模板渲染到该布局中。

但鉴于这个答案是如此微不足道,我怀疑你完全是在问一个不同的问题。

【讨论】:

  • 我最初的问题(在编辑之前)更通用/提供了更多上下文:如果我有一个跨多个页面的流程,我希望用户按特定顺序遵循,我应该如何实现这个?经过思考,编辑问题并阅读您的解决方案后,我认为答案应该是:一条路线,多个模板,在运行时根据工作流程的当前步骤选择。还是有其他方法可以做到这一点?
  • 但是当我试图从一个步骤(表单)前进到下一个步骤时,将路由器发送到相同的 URL 似乎不会呈现下一个模板: Template.step1.events({ 'submit form': function (event) { event.preventDefault(); Meteor.call("myMethod", event.target.name.value, event.target.email.value); Router.go('processRoute'); } } );
  • 使用 Meteor._reload.reload();修复了渲染更新问题 - 仍然,它似乎有点...... un-meteorish..?
  • 好的,这更清楚了。有时间我会回来写一个流星的答案。
猜你喜欢
  • 2014-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
  • 1970-01-01
  • 2017-09-04
  • 2011-02-23
  • 1970-01-01
相关资源
最近更新 更多