9
จะล้าง / ลบการผูกที่สังเกตได้ใน Knockout.js ได้อย่างไร
ฉันกำลังสร้างฟังก์ชันการทำงานบนหน้าเว็บซึ่งผู้ใช้สามารถดำเนินการได้หลายครั้ง ผ่านการกระทำของผู้ใช้อ็อบเจ็กต์ / โมเดลถูกสร้างขึ้นและนำไปใช้กับ HTML โดยใช้ ko.applyBindings () HTML ที่ผูกข้อมูลถูกสร้างขึ้นผ่านเทมเพลต jQuery จนถึงตอนนี้ดีมาก เมื่อฉันทำขั้นตอนนี้ซ้ำโดยสร้างวัตถุ / โมเดลที่สองและโทรหา ko.applyBindings () ฉันพบปัญหาสองประการ: มาร์กอัปจะแสดงวัตถุ / โมเดลก่อนหน้าตลอดจนวัตถุ / โมเดลใหม่ ข้อผิดพลาดของจาวาสคริปต์เกิดขึ้นที่เกี่ยวข้องกับคุณสมบัติอย่างใดอย่างหนึ่งในวัตถุ / โมเดลแม้ว่าจะยังแสดงผลในมาร์กอัป เพื่อแก้ไขปัญหานี้หลังจากผ่านครั้งแรกฉันเรียก jQuery ของ. empty () เพื่อลบ HTML ที่มีเทมเพลตซึ่งมีแอตทริบิวต์การผูกข้อมูลทั้งหมดเพื่อไม่ให้อยู่ใน DOM อีกต่อไป เมื่อผู้ใช้เริ่มกระบวนการสำหรับการส่งครั้งที่สอง HTML ที่ผูกข้อมูลจะถูกเพิ่มเข้าไปใน DOM อีกครั้ง แต่อย่างที่ฉันพูดไปเมื่อ HTML ถูกเพิ่มเข้าไปใน DOM อีกครั้งและเชื่อมโยงกับอ็อบเจ็กต์ / โมเดลใหม่มันยังคงรวมข้อมูลจากอ็อบเจ็กต์ / โมเดลแรกและฉันยังคงได้รับข้อผิดพลาด …