Sapui5 “替换”是什么;metadataLoaded";在JSONModel中?
在Sapui5 “替换”是什么;metadataLoaded";在JSONModel中?,sapui5,Sapui5,在sap.ui.model.odata.v2.ODataModel中,有一种方法可以像这样使用: this.getModel().metadataLoaded().then(function()){ var sObjectPath=this.getModel().createKey(“/”{ ID:Sobjectd }); 此._bindView(“/”+sObjectPath); }.约束(这个); 似乎没有相应的方法,因为客户端模型中没有服务元数据概念。还有其他的工作吗 我尝试了attac
sap.ui.model.odata.v2.ODataModel
中,有一种方法可以像这样使用:
this.getModel().metadataLoaded().then(function()){
var sObjectPath=this.getModel().createKey(“/”{
ID:Sobjectd
});
此._bindView(“/”+sObjectPath);
}.约束(这个);
似乎没有相应的方法,因为客户端模型中没有服务元数据概念。还有其他的工作吗
我尝试了attachRequestCompleted
。它没有按预期工作:
函数bindview(){
那._bindView(sObjectId);
}
this.getModel().attachRequestCompleted(bindview);
正如您所说,没有元数据。但对于Json模型,为什么要等待任何事件?您可以直接绑定视图。正如您正确地说的,没有元数据。但对于Json模型,为什么要等待任何事件?您可以直接绑定视图。attachRequestCompleted
仅在加载模型时触发一次,因此我通过以下方式解决此问题:
jsonModelLoaded: false,
_onObjectMatched : function (oEvent) {
if(this.jsonModelLoaded) {
this._bindView(sObjectId);
}
function bindview() {
that.jsonModelLoaded = true;
that._bindView(sObjectId);
}
this.getModel().attachRequestCompleted(bindview);
}
另一个没有文档记录的解决方案是使用this.getModel().attachRequestCompleted().pSequentialImportCo已完成。然后()
此处的相关问题:
attachRequestCompleted
仅在加载模型时触发一次,因此我通过以下方式解决此问题:
jsonModelLoaded: false,
_onObjectMatched : function (oEvent) {
if(this.jsonModelLoaded) {
this._bindView(sObjectId);
}
function bindview() {
that.jsonModelLoaded = true;
that._bindView(sObjectId);
}
this.getModel().attachRequestCompleted(bindview);
}
另一个没有文档记录的解决方案是使用this.getModel().attachRequestCompleted().pSequentialImportCo已完成。然后()
此处的相关问题:自1.641以来,JSONModel
在调用或时返回承诺。例如:
\u对象匹配:函数(oEvent){
const myJSONModel=this.getView().getModel();
常量sObjectId=/*…*/;
myJSONModel.dataLoaded()。然后(()=>这个。_bindView(sObjectId));
},
与v2ODatamodel.metadataLoaded()2不同,如果请求失败,这里的承诺实际上会拒绝
1提交:
2从
metadataLoaded()
返回的承诺永远不会拒绝,即使加载元数据文档失败。但是,应用程序可以将true
作为参数传递,以获得可捕获的承诺:metadataLoaded(true)
。
自1.641以来,JSONModel
在调用或时返回承诺。例如:
\u对象匹配:函数(oEvent){
const myJSONModel=this.getView().getModel();
常量sObjectId=/*…*/;
myJSONModel.dataLoaded()。然后(()=>这个。_bindView(sObjectId));
},
与v2ODatamodel.metadataLoaded()2不同,如果请求失败,这里的承诺实际上会拒绝
1提交:
2从
metadataLoaded()
返回的承诺永远不会拒绝,即使加载元数据文档失败。但是,应用程序可以将true
作为参数传递,以获得可捕获的承诺:metadataLoaded(true)
。
有时,当我在_onObjectMatched中调用bindview时,我发现获取JSON模型的API处于挂起状态。(
this.getRouter().getRoute(“对象”).attachPatternMatched(this.\u-onObjectMatched,this);
)有时我在调用\u-onObjectMatched中的bindview时发现获取JSON模型的API处于挂起状态。(this.getRouter().getRoute(“对象”).attachPatternMatched(this.\u onObject Matched,this);
)