Итак... Я создаю приложение, которое в основном представляет собой CRUD. В этом приложении у меня есть следующие представления/контроллеры: VisitEdit и RequestNew.
В контроллере RequestNew у меня есть функция, которая обрабатывает нажатие кнопки:
onRequestNewAddCustomerPress: function(oEvent) {
if( !this.oAddCustomerDialog ){
this.oAddCustomerDialog = sap.ui.xmlfragment("com.sap.lccapp.fragment.AddCustomer", this);
}
this.oAddCustomerDialog.openBy(oEvent.getSource());
},
И у меня на этом же контроллере есть функция onExit
. Теперь он пуст, потому что я провел МНОГО тестов с функцией .destroy()
этого объекта (oAddCustomerDialog
), и ошибка продолжает появляться.
Проблема в; на контроллере VisitEdit, когда я пытаюсь использовать тот же диалог во второй раз с тем же кодом, что и выше, появляется следующая ошибка:
Добавление элемента с повторяющимся идентификатором «addCustomerNameField»
ID "addCustomerNameField"
взят из моего первого элемента внутри моего фрагмента.
Хотя у меня есть «проверка if» для обоих методов и поскольку она находится в разных контроллерах, последний проверяемый «if» имеет объект (this.oAddCustomerDialog
) undefined (НО ОН НЕ ДОЛЖЕН ИМЕТЬ НЕОПРЕДЕЛЕННОЕ ЗНАЧЕНИЕ), и он снова создает sap.ui.xmlfragment
.
Определение фрагмента: http://dontpad.com/stackoverflowquestionsapui5