ค้นหาเว็บไซต์

javascript - Uncaught TypeError: core_1.style ไม่ใช่ฟังก์ชัน


ฉันได้แปลงโค้ดของฉันจาก Angular 4 เป็น Angular 7 และคอมไพล์ได้สำเร็จ แต่เมื่อฉันพยายามรันมัน ในคอนโซลของเบราว์เซอร์จะแสดงข้อผิดพลาดดังต่อไปนี้

Uncaught TypeError: core_1.style is not a function
at Object.<anonymous> (ng2-dropdown.bundle.js:435)
at __webpack_require__ (ng2-dropdown.bundle.js:30)
at Object.<anonymous> (ng2-dropdown.bundle.js:121)
at __webpack_require__ (ng2-dropdown.bundle.js:30)
at Object.<anonymous> (ng2-dropdown.bundle.js:65)
at __webpack_require__ (ng2-dropdown.bundle.js:30)
at ng2-dropdown.bundle.js:50
at ng2-dropdown.bundle.js:53
at webpackUniversalModuleDefinition (ng2-dropdown.bundle.js:3)
at Object../node_modules/ng2-tag-input/node_modules/ng2-material-dropdown/dist/ng2-dropdown.bundle.js (ng2-dropdown.bundle.js:10)

มีใครสามารถบอกฉันได้ไหมว่าทำไมฉันถึงได้รับข้อผิดพลาดเหล่านี้? ฉันเป็นมือใหม่ใน Angular ขอบคุณล่วงหน้า

คำตอบ #1

ดูเหมือนว่าปัญหาจริง ๆ จะเกิดขึ้นกับเวอร์ชันเก่าของ ng2-material-dropdown ที่พวกเขากำลังใช้ฟังก์ชัน style ที่นำเข้าจาก @angular/core (https://v4.angular.io/api/core/style) ซึ่งถูกเลิกใช้ใน Angular 4 และย้ายไปที่ @angular/animations (https://angular.io/api/animations/style)

ในเวอร์ชัน 0.9.0 ไลบรารี ng2-material-dropdown ได้เพิ่มการสนับสนุนสำหรับ Angular เวอร์ชัน 5 และ 6 ดังนั้นผมขอแนะนำให้คุณอัปเดตไลบรารีนั้นด้วย ขณะนี้มีเวอร์ชัน 0.10.1 ให้ใช้งานอยู่

คำตอบ #2

ถ้าทุกวิธีแก้ปัญหาที่นี่ไม่สามารถแก้ปัญหาของคุณได้ คุณสามารถลองลบโฟลเดอร์ node_modules แล้วรัน npm install หรือ yarn เพื่อติดตั้ง dependencies ทั้งหมดใหม่ นั่นก็เป็นวิธีแก้ปัญหาของฉันเช่นกัน