我遇到的情况是用户被重定向到模板(比方说我)。 在模板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()之前触发,所以它本应该阻止它。但这似乎仍无效。
答案 0 :(得分:3)
在火焰中有条件地渲染模板的最简单方法是用{{# if}}
包裹它:
<template name="parentTemplate">
{{#if someCondition}}
{{> childTemplate }}
{{/if}}
</template>
您可以在js中定义一个帮助器,返回someCondition
的真值或假值。无需在onCreated
中执行任何操作。
强烈建议不要通过window.location.href
更改网址。这将导致整个应用程序重新加载,包括所有订阅。