ดังนั้น... ฉันกำลังสร้างแอปพลิเคชันที่เป็น 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"
มาจากองค์ประกอบแรกของฉันภายในแฟรกเมนต์ของฉัน
แม้ว่าฉันจะมี 'ถ้าการตรวจสอบ' ในทั้งสองวิธีและเนื่องจากอยู่ในตัวควบคุมที่แตกต่างกัน แต่ 'ถ้า' สุดท้ายที่ได้รับการตรวจสอบนั้นมีวัตถุ (this.oAddCustomerDialog
) ไม่ได้กำหนดไว้ (แต่ไม่ควรมีค่าที่ไม่ได้กำหนด) และกำลังสร้างอีกครั้ง sap.ui.xmlfragment
.
คำจำกัดความของแฟรกเมนต์: http://dontpad.com/stackoverflowquestionsapui5