在 controller.js 中找不到名称 'jQuery' 错误

Cannot find name 'jQuery' error in controller.js

我正在用 VS Code 开发一个 UI5 应用程序。 我在 *.controller.js 文件中添加了一个新的计数函数,为了显示来自服务器的计数,我使用 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);
    },
  });
});

还有参数 而不是单个 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
});