渲染前后的海边钩子



我想看看Seaside中是否有一个钩子在渲染之前被调用,在渲染之后调用一个钩子。我想在屏幕上显示通知,我希望渲染完成后,修改此组件,以便下次完成渲染时不再显示。

谢谢和问候!

Seaside 没有"钩子",而是组件装饰,您可以将其包裹在组件周围以更改其行为。如果包装根组件,则可以实现在整个组件树上呈现前后调用钩子的修饰。

但是,在渲染时更改组件的状态将破坏 Seaside 为您提供的状态回溯行为。状态更改应在操作回调中发生。因此,没有"渲染后"阶段,您可以在其中更改组件的状态(嗯,您可以,但这会导致微妙的问题(。相反,请使用操作阶段(即回调(来更改组件的状态,以便下次调用渲染阶段时,不会显示组件。

我假设当您说"下次渲染完成"时,这意味着在用户单击链接或执行其他操作之后。这意味着您可以在执行操作回调时更改状态,并排列渲染树的状态,以便不再显示相关组件。如果这样做,用户在浏览器中单击后退按钮时将再次看到该组件。

最新更新