【发布时间】:2023-03-11 07:30:01
【问题描述】:
无论如何要知道视图是否已准备好/完成渲染?由于 oraclejet 使用 Knockout 进行数据绑定,这是否属于 Knockout 部分?
我的用例是:
- 加载网站。路由器指向“A”视图,该视图通过“ojModule”命名空间使用“A.js” 作为模特
- 我想在“A”视图完全呈现后运行一些代码。
【问题讨论】:
无论如何要知道视图是否已准备好/完成渲染?由于 oraclejet 使用 Knockout 进行数据绑定,这是否属于 Knockout 部分?
我的用例是:
【问题讨论】:
您可以使用 BusyContext,也可以考虑使用模板绑定,link,并使用 afterRender 回调。
【讨论】:
您可以为此使用busycontext,如下面的函数所示。更多内容可以参考BusyContext
function refreshBusyContext() {
self.pageBusyContext = oj.Context.getPageContext().getBusyContext();
self.pageBusyContext.whenReady().then(function () {
console.log('page load is done');
});
}
我认为你也可以使用像handleBindingsApplied() 这样的生命周期方法,如下所示
self.handleBindingsApplied = function(info) {
// Executes after all the bindings applied and all jet components are ready in view
};
【讨论】: