Meteor根据条件阻止模板渲染

时间:2017-11-08 18:43:20

标签: meteor meteor-blaze

我遇到的情况是用户被重定向到模板(比方说我)。 在模板I中,有一个条件可以确定我们是否应该渲染该模板或重定向到其他地方。

我现在正在做的方法是在public override void Initialize() { // This is similar to PXSelectReadonly DataView.AllowDelete = false; DataView.AllowInsert = false; DataView.AllowUpdate = false; } 中检查该条件,如果该条件为真,则将Template.I.onCreated()放入新网址。

但这有时会导致模板I在重定向之前在屏幕上短暂显示。

我需要一种能够阻止这种情况发生的方法。我认为onCreated()在onRendered()之前触发,所以它本应该阻止它。但这似乎仍无效。

1 个答案:

答案 0 :(得分:3)

在火焰中有条件地渲染模板的最简单方法是用{{# if}}包裹它:

<template name="parentTemplate">
{{#if someCondition}}
  {{> childTemplate }}
{{/if}}
</template>

您可以在js中定义一个帮助器,返回someCondition的真值或假值。无需在onCreated中执行任何操作。

强烈建议不要通过window.location.href更改网址。这将导致整个应用程序重新加载,包括所有订阅。