我有一个典型的控制器和一个JS视图。
在视图中,我使用了工厂函数来构建如下的项目列表:
new sap.m.List(this.createId("myList"), {
noDataText: "{i18n>textNoData}",
items: {
path: "/PathToServiceApp",
sorter: new sap.ui.model.Sorter("Date"),
factory: this.itemFactory.bind(this)
}
});
this.itemFactory: function (sId, oContext) {
...
},
在Controller中,我使用了
onAfterRendering
实时循环方法:onAfterRendering: function () {
...
}
问题:
onAfterRendering
在视图从路径“ / PathToServiceApp”获取数据之前被调用。知道如何在加载数据和创建DOM元素后调用
onAfterRendering
吗? 最佳答案
每次渲染后将调用onAfterRendering
。
在该函数中,您不能指望那里的数据,因为如果模型异步加载数据,则在加载数据之前可能会进行一次渲染。
如果绑定中使用的路径的数据(在您的情况下为/PathToServiceApp
)发生更改,则绑定中的控件将被刷新,并且onAfterRendering
将再次被调用。
如果要在显示列表项后对其进行修改,则应使用其onAfterRendering
函数而不是Controller控件。
关于javascript - 加载数据 View 之前的onAfterRendering调用,使用工厂,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36202716/