knockout.js OracleJet-如何知道视图何时准备就绪?

yptwkmov  于 2022-11-10  发布在  Oracle
关注(0)|答案(2)|浏览(88)

是否需要知道视图是否已准备好/完成呈现?由于oraclejet使用Knockout进行数据绑定,这是否属于Knockout的一部分?
我的用例是:

  • 加载网站。路由器指向“A”视图,该视图使用“A.js”(通过“ojModule”命名空间)作为模型
  • 我想在“A”视图完全渲染后运行一些代码。
k97glaaz

k97glaaz1#

您可以使用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
};
brvekthn

brvekthn2#

您可以使用BusyContext,也可以考虑使用模板绑定link,以及使用afterRender回调。

相关问题