Ich möchte einen Bereichsregler in einem Winkelprojekt verwenden und habe versucht, ein verfügbares Modul für Winkel 4 zu verwenden.
Es funktioniert gut während der Kompilierung, aber wenn ich versuche, es für die Bereitstellung zu erstellen, wird der folgende Fehler ausgegeben.
Ich habe nach der Option gesucht, das jQuery-Plugin direkt im Winkelprojekt zu verwenden, und ich erhalte nur Optionen dafür in Angular 2.
Gibt es eine Möglichkeit, jQuery-Plugins in Angular 4 zu verwenden?
Lass es mich wissen, bitte.
Danke im Voraus!
Antworten:
Ja, Sie können jquery mit Angular 4 verwenden
Schritte:
1) In
index.html
unter der Zeile in Tag setzen.<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
2) In der folgenden Komponente ts-Datei müssen Sie var wie folgt deklarieren
Und verwenden Sie diesen Code für die entsprechende HTML-Datei wie folgt:
Dies wird für Sie funktionieren. Vielen Dank
quelle
Installieren Sie jquery mit npm
Typisierungen hinzufügen
Fügen Sie Skripte zu angle-cli.json hinzu
Projekt erstellen und dienen
Hoffe das hilft! Viel Spaß beim Codieren
quelle
add declare var jquery:any; declare var $ :any;
, Ihre .ts-Datei.Cannot find name '$'
declare const $: any;
über dem @ ... Dekorateur hinzufügen .Installieren Sie jQuery mit NPM Jquery NPM
Installieren Sie die jQuery-Deklarationsdatei
Importieren Sie jQuery in .ts
Rufen Sie in der Klasse an
quelle
Sie müssen keine jQuery-Variable deklarieren, während Sie @ types / jquery installiert haben.
Sie sollten überall Zugriff auf jQuery haben.
Folgendes sollte funktionieren:
quelle
Cannot find name 'jQuery'
wenn ich sie nicht in der.ts
Datei deklariere . Wenn also jemand mit diesem Problem konfrontiert ist, muss er es nur deklarieren.Sie sollten jQuery nicht in Angular verwenden. Es ist zwar möglich (siehe andere Antworten auf diese Frage), es wird jedoch davon abgeraten. Warum?
Angular hat eine eigene Darstellung des DOM in seinem Speicher und verwendet keine Abfrageselektoren (Funktionen wie
document.getElementById(id)
) wie jQuery. Stattdessen erfolgt die gesamte DOM-Manipulation durch Renderer2 (und Angular-Direktiven wie * ngFor und * ngIf, die im Hintergrund / Framework-Code auf diesen Renderer2 zugreifen). Wenn Sie DOM mit jQuery selbst manipulieren, werden Sie früher oder später ...Wenn Sie jQuery wirklich einbinden möchten (um einen Prototyp aufzunehmen, den Sie zu 100% endgültig wegwerfen werden), empfehle ich, ihn zumindest in Ihre package.json aufzunehmen,
npm install --save jquery
anstatt ihn von Googles CDN zu beziehen .quelle
constructor(private renderer: Renderer2, private el: ElementRef) {}
) erhalten, können Sie entweder nach seinen untergeordneten Elementen filtern oder das Element direkt bearbeiten, indem Sie auf seine nativeElement-Eigenschaft zugreifen :ngOnInit() { this.renderer.addClass(this.el.nativeElement, 'wild'); }
. Hier ist ein Tutorial, wie Sie mehr erfahren*ngIf
,*ngFor
, kundenspezifische (von Ihnen) Richtlinien, Rohren und CSSngClass
,[style.background]
und[class.myCustomCssClass]
. Für weitere Hilfe: angle.io/tutorial/toh-pt2Versuche dies:
Oder fügen Sie Skripte zu angle-cli.json hinzu:
und in Ihrer .ts-Datei:
quelle
Sie können Ihre jquery-Typisierungsversion wie folgt aktualisieren
Ich hatte den gleichen Fehler und war 5 Tage lang im Internet, um eine Lösung zu finden. Es hat für mich funktioniert und es sollte für Sie funktionieren
quelle
Wenn Sie andere Bibliotheken in Projekten verwenden müssen - typescript - nicht nur in Projekten - angle -, können Sie nach tds (TypeScript Declaration File) suchen, die depares sind und Informationen zu Methoden, Typen, Funktionen usw. enthalten. Dies kann von TypeScript verwendet werden, normalerweise ohne dass ein Import erforderlich ist. deklariere var ist die letzte Ressource
quelle
Sie können Webpack verwenden, um es bereitzustellen . Es wird dann automatisch DOM injiziert.
quelle
Versuchen Sie es mit - deklarieren Sie let $: any;
oder importiere * als $ aus 'jquery / dist / jquery.min.js'; Geben Sie den genauen Pfad der Bibliothek an
quelle
quelle