将Json值转换为小写"Uncaught(in promise) "SAPUI5
convert Json value into lower case "Uncaught(in promise ) ReferenceError" SAPUI5
我试图在SAPUI5中将Json值转换为小写。但我得到的错误是未捕获(在承诺)参考错误在sapui5。我的代码如下:
onInit : function(evt)
{
var oModelSamhengiTimeSeris = new sap.ui.model.json.JSONModel("/admin/model/samhengitimeserieswriter.json"); console.log(this.lowerCase(oModelSamhengiTimeSeris));
},
lowerCase: function (obj) {
for (var prop in obj) {
if (typeof obj[prop] === 'string')
{
obj[prop] = obj[prop].toLowerCase();
}
if (typeof obj[prop] === 'object')
{
lowerCase(obj[prop]);
}
}
return obj;
},
错误是当我从方法内部调用小写方法。还有其他的方法将值转换成小写吗?或者我该如何解决这个问题?
您正在使用sapui5的JSONModel类的实例调用lowerCase()
方法。该实例可能包含循环引用。你应该调用你的lowerCase()
方法与数据在你的JSONModel: this.lowerCase(oModelSamhengiTimeSeris.getData())
。
但是要注意JSONModel是异步加载的。所以oModelSamhengiTimeSeris.getData()
的结果在它被调用的时候可能是一个空对象。您可以附加到模型的requestCompleted事件,以便在加载数据后执行转换:
onInit : function(evt)
{
var oModelSamhengiTimeSeris = new sap.ui.model.json.JSONModel("/admin/model/samhengitimeserieswriter.json");
oModelSamhengiTimeSeris.attachRequestCompleted(function(){
var data = oModelSamhengiTimeSeris.getData();
this.lowerCase(data);
oModelSamhengiTimeSeris.setData(data); //To update bindings
},this);
},
lowerCase: function (obj) {
for (var prop in obj) {
if (typeof obj[prop] === 'string')
{
obj[prop] = obj[prop].toLowerCase();
}
if (typeof obj[prop] === 'object')
{
this.lowerCase(obj[prop]); //has to be this.lowerCase()
}
}
return obj;
},
相关文章:
- Node.js's Buffer.writeFloatBE in Javascript
- 铬:“;未捕获的语法错误:意外的标记:"
- Setting default onclick behavior for <img> tag in gene
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- Lucene Search in Alfresco
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- grep in JQuery to C#
- "对于“in”;在Javascript中;未定义的“;价值
- What does 'data()' do in '$("#myWidget"
- HTML select.value in"旧浏览器"
- 如何使用“Google Sign In"”检查用户是否登录;(OAuth 2.0)