dot*_*huZ 2 attributes json model sapui5
我目前正试图弄清楚如何从 sap.ui.model.json.JSONModel 中检索单个值
在我的主要观点中:
var gConfigModel = new sap.ui.model.json.JSONModel();
var getConfigCallback = function(config) {
gConfigModel.setData(config);
};
oController.getConfiguration(getConfigCallback);
console.log(gConfigModel);
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
getConfiguration : function(callback) {
var sServiceUrl = "/sap/opu/odata/sap/xxx/ConfigurationSet('Initialize')";
var config = {};
callback(config);
$.getJSON(sServiceUrl).done(function(data) {
config = data.d;
callback(config);
});
},
Run Code Online (Sandbox Code Playgroud)
在我的 console.log 语句中,我可以看到数据已成功从后端传递并成功设置为 JSON 模型。我的要求是将属性 Editable 的值存储在单个变量中。
我已经尝试过 gConfigModel.getProperty('/'),没有用。试图访问 gConfigModel.oData 未定义 .. 如何将其存储在单个值中?
解决方案评论:如果您从后端捕获数据,则必须注意它需要多长时间。数据可以在预期之后可用,在我的情况下,我添加了 1s 超时,之后我可以轻松访问该属性
setTimeout(function() {
console.log(gConfigModel.getProperty('/Editable'));
}, 1000);
Run Code Online (Sandbox Code Playgroud)
我不建议使用模型的getData()
方法,因为它已被弃用。
一个更好的解决方案是使用gConfigModel.getProperty("/Editable")
(我在这里使用根斜杠,因为您的属性驻留在模型的根中)
以同样的方式,你还可以设置你的数据:
gConfigModel.setProperty("/Editable", <your new value>)
代替
归档时间: |
|
查看次数: |
25220 次 |
最近记录: |