Javascript 在加载数据视图之前的渲染调用之后,请使用factory
我有一个典型的控制器和一个JS视图 在视图中,我使用factory函数构建了如下项目列表:Javascript 在加载数据视图之前的渲染调用之后,请使用factory,javascript,view,model,factory,sapui5,Javascript,View,Model,Factory,Sapui5,我有一个典型的控制器和一个JS视图 在视图中,我使用factory函数构建了如下项目列表: new sap.m.List(this.createId("myList"), { noDataText: "{i18n>textNoData}", items: { path: "/PathToServiceApp", sorter: new sap.ui.model.Sorter("Date"), factory: this.ite
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) {
...
},
在控制器中,我使用了onAfterRendering
livecycle方法:
onAfterRendering: function () {
...
}
问题:onAfterRendering
在视图从路径“/PathToServiceApp”获取数据之前被调用
加载数据并创建DOM元素后,如何调用
onAfterRendering
?onAfterRendering
将在每次渲染后调用
在函数中,您不能指望数据存在,因为如果模型异步加载数据,则在加载数据之前可能会发生一次渲染
如果绑定中使用的路径的数据(在您的案例中为/PathToServiceApp
)发生更改,则将刷新绑定中的控件,并在呈现后再次调用onAfterRendering
如果要在渲染后修改列表项,则应在每次渲染后调用其
onAfterRendering
函数,而不是控制器函数。onAfterRendering
在函数中,您不能指望数据存在,因为如果模型异步加载数据,则在加载数据之前可能会发生一次渲染
如果绑定中使用的路径的数据(在您的案例中为/PathToServiceApp
)发生更改,则将刷新绑定中的控件,并在呈现后再次调用onAfterRendering
如果要在渲染后修改列表项,则应在渲染后钩住其
onAfterRendering
函数,而不是控制器函数。基于ListBase
的控件具有一个UpdateFinished
事件,该事件在控件更新和处理项绑定后触发。如果要在数据加载到列表中后运行代码,最好将此事件与该逻辑挂钩 基于ListBase
的控件具有一个UpdateFinished
事件,该事件在控件更新和处理项绑定后激发。如果要在数据加载到列表中后运行代码,最好将此事件与该逻辑挂钩 好的,也许你们知道如何同步获取数据(我使用OData模型)?Thx for Help ODataModel看起来不是这样的。好吧,也许你知道如何同步获取数据(我使用OData模型)?Thx的帮助它看起来不是那样的ODataModel。