问题描述
我正在用VS Code开发UI5应用。
我向*.controller.js
文件中添加了一个新的count函数,并且为了显示来自服务器的计数,我正在使用jQuery,如以下代码所示:
jQuery.each(this._mFilters,function (sFilterKey,oFilter) {
oModel.read("/portfolios/$count",{
filters: oFilter,success: function (oData) {
var sPath = "/" + sFilterKey;
oviewmodel.setProperty(sPath,oData);
}
});
});
不幸的是,我收到以下错误:
有人知道为什么会触发错误以及如何解决该错误吗?
任何帮助或建议都将不胜感激。
解决方法
我假设this._mFilters
是一个对象。在这种情况下,请尝试:
Object.keys(this._mFilters).map(sFilterKey => {
const oFilter = this._mFilters[sFilterKey];
oModel.read("/portfolios/$count",{
filters: [ oFilter ],success: function(sCount) {
const sPath = `/${sFilterKey}`;
oViewModel.setProperty(sPath,+sCount);
},});
});
还有参数filters
awaits an array而不是单个Filter实例。
如果仍然首选jQuery,则将 "sap/ui/thirdparty/jquery"
(以前为"jquery.sap.global"
)包括在控制器的依赖项列表中。
sap.ui.define([
"sap/ui/core/mvc/Controller",// ...,"sap/ui/thirdparty/jquery",],function(Controller,/*...,*/ jQuery) {
// jQuery is here available
});