Uncaught TypeError: ไม่สามารถแปลงวัตถุเป็นค่าดั้งเดิม (zone-evergreen.js: 171)


27

ในAngular 9 (ใช้ Bootstrap 4 และ Jquery 3.5.1) เมื่อคลิกที่ปุ่มยุบ bootstrap ฉันได้รับข้อผิดพลาดบนคอนโซลเบราว์เซอร์แทนเมนูแบบเลื่อนลง

ฉันไม่รู้จริงๆว่าข้อผิดพลาดมาจากที่ใด

Can't convert object to primitive value(zone-evergreen:171).


Uncaught Type Error: Cannot convert object to primitive value(zone-evergreen.js:171 )
    at RegExp.test (<anonymous>)
    at HTMLDivElement.<anonymous> (bootstrap.bundle.min.js:6)
    at Function.each (jquery.min.js:2)
    at S.fn.init.each (jquery.min.js:2)
    at S.fn.init.a._jQueryInterface [as collapse] (bootstrap.bundle.min.js:6)
    at HTMLDivElement.<anonymous> (bootstrap.bundle.min.js:6)
    at Function.each (jquery.min.js:2)
    at S.fn.init.each (jquery.min.js:2)
    at HTMLButtonElement.<anonymous> (bootstrap.bundle.min.js:6)
    at HTMLDocument.dispatch (jquery.min.js:2)

3
ปัญหานี้เกิดจาก jQuery 3.5.0 ปรับลดรุ่น jQuery ของคุณเป็น 3.4.1 สำหรับการแก้ไขชั่วคราว
Sylvernus Akubo

คำตอบ:


67

ดูเหมือนว่าปัญหานี้จะเกี่ยวข้องกับ jQuery 3.5.0 เป็นการเปลี่ยนแปลงที่ส่งผลกระทบต่อปลั๊กอินจำนวนมาก การย้อนกลับเป็น jQuery เวอร์ชันก่อนหน้า (เช่น 3.4.1) เป็นการชั่วคราวแก้ไขปัญหาสำหรับฉัน

ที่มา: jQuery Issue # 4665


ฉันมีปัญหาเดียวกันและ FWIW ข้อเสนอแนะนี้ไม่ทำงาน ฉันใช้ WordPress ซึ่งใช้เวอร์ชั่นเก่า 1.x ฉันเปลี่ยนเป็น 3.4.1 และยังเห็นปัญหาอยู่ ฉันคิดว่ามีความเกี่ยวข้องกับสิ่งที่ค่อนข้างใหม่เนื่องจากมีการโพสต์ที่คล้ายกันมากในชั่วโมงที่ผ่านมา (ดูstackoverflow.com/questions/61176484/… )
matgargano

ฉันผิดไม่เป็นไรความคิดเห็นสุดท้ายฉันดึง jQuery 2 เวอร์ชัน
matgargano

9
ในกรณีของฉันหีบเพลง bootstrap ของฉันหยุดทำงาน นั่นคือการคลิกที่ส่วนหัวของการ์ดไม่ได้เปิดการ์ด npm i jquery@3.4.1แก้ไขCannot convert object to primitive valueปัญหาของฉัน
CAK2

คำตอบนี้ช่วยเบคอนของฉัน ขอบคุณมาก! แพ็คเกจของฉัน json มี "jquery": "^ 3.2.1" การเปลี่ยนเป็น "jquery": "3.2.1" แก้ปัญหาได้
Kirk Liemohn

การลดระดับ jQuery ทำงานได้ ขอบคุณคน!
Deepak Kumbhar

0

พวกเขามีการแก้ไขแล้วในตอนนี้ (ดูhttps://github.com/jquery/jquery/commit/65e909844c2d064606217b47e92eff12ebdb79de ) หากคุณพร้อมที่จะสร้าง jquery ของคุณเองโดยใช้ node / npm .

สิ่งที่ฉันทำคือแก้ไข jquery.min.js (3.5.0)

ขั้นตอนที่ฉันทำ:

  1. ค้นหาบรรทัด: return t||(t=Object.create(null)อยู่ในบรรทัด 2, คอลัมน์ 32856
  2. แทนที่Object.create(null)ด้วย{}

และมันก็ยังดีอยู่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.