Фрагмент не получает правильный контроллер

Я идентифицирую фрагмент по этому коду в контроллере formAddElement. (я использую this для передачи текущего контроллера)

this._oDialog = sap.ui.xmlfragment("apps.appIntra.fragment.dialogClienti",this);

В этом же контроллере у меня есть функция handleSearch

handleSearch: function(oEvent) {
        var sValue = oEvent.getParameter("value");
        var oFilter = new sap.ui.model.Filter("RAG_SOC_1", sap.ui.model.FilterOperator.Contains, sValue);
        var oBinding = oEvent.getSource().getBinding("items");
        oBinding.filter([oFilter]);
  },

когда во фрагменте я нажимаю поиск, функция в контроллере не срабатывает.

Но если я использую

this._oDialog = sap.ui.xmlfragment("apps.appIntra.fragment.dialogClienti", sap.ui.getCore().byId('formAddElement').getController());

все работает!! ПОЧЕМУ??? О_о


person padibro    schedule 08.08.2014    source источник


Ответы (1)


"это" должно работать. вам нужно запустить отладчик F12 в хроме, чтобы проверить, что это «это», является ли это объектом oController. это может быть другой объект, зависящий от вызывающего объекта.

person Haojie    schedule 09.08.2014