是否可以在 UI5 中的片段加载(从另一个视图)上执行一个方法(最好是 onInit 方法)?
Is it possible to execute a method (onInit method preferably) on fragment load (from another view) in UI5?
我想在片段加载时执行 onInit 方法并向 oData 模型添加过滤条件。它需要这样做,因为我必须动态添加过滤条件。以下是我想要实现的目标。
<Table id="mylist" class="sapUiResponsiveMargin" growing="true" growingThreshold="10" growingScrollToLoad="true" width="auto" items="{path: '/element', top:10, filters : [{path : 'levelAggrId', operator : 'EQ', value1 : someDynamicVariable}]}" mode="MultiSelect" >
如果 onInit() 方法被调用,那么我可以在控制器中移动这个过滤器。但是 onInit()。 onBeforeRendering()、onAfterRendering() 生命挂钩方法不会在片段加载时执行。是否可以使用片段来做到这一点,或者是否有任何其他方法可以做到这一点。任何指针都会非常有帮助。
谢谢
片段本身没有生命周期方法。但是您可以轻松地在控制器中应用过滤器并使 table 短时间忙碌。每次用户触发事件以显示 table 时,您可以通过 id 获取 table 轻松过滤 table,然后应用过滤功能。
片段非常适合对话,但在您的情况下使用片段似乎不是最好的主意。该对话框有一些事件,例如 'beforeOpen'。
我想在片段加载时执行 onInit 方法并向 oData 模型添加过滤条件。它需要这样做,因为我必须动态添加过滤条件。以下是我想要实现的目标。
<Table id="mylist" class="sapUiResponsiveMargin" growing="true" growingThreshold="10" growingScrollToLoad="true" width="auto" items="{path: '/element', top:10, filters : [{path : 'levelAggrId', operator : 'EQ', value1 : someDynamicVariable}]}" mode="MultiSelect" >
如果 onInit() 方法被调用,那么我可以在控制器中移动这个过滤器。但是 onInit()。 onBeforeRendering()、onAfterRendering() 生命挂钩方法不会在片段加载时执行。是否可以使用片段来做到这一点,或者是否有任何其他方法可以做到这一点。任何指针都会非常有帮助。
谢谢
片段本身没有生命周期方法。但是您可以轻松地在控制器中应用过滤器并使 table 短时间忙碌。每次用户触发事件以显示 table 时,您可以通过 id 获取 table 轻松过滤 table,然后应用过滤功能。 片段非常适合对话,但在您的情况下使用片段似乎不是最好的主意。该对话框有一些事件,例如 'beforeOpen'。