Vielen Dank für Ihre Hilfe, @basarat! Ich folgte Ihren Tipps, aber ich brauchte mehr Informationen, damit es funktioniert!
Mein erstes Problem war das $ (Dollar) Zeichen zu verwenden, und ich löste es dies, indem:
import * as $ from 'jquery';
Der Import oben ist die richtige Antwort auf meine Hauptfrage Hier. Es war jedoch nicht genug, um die externe Javascript-Funktion .parallax()
zu funktionieren. Ich werde unten zeigen, was ich getan habe, um zu arbeiten, ob jemand diese Antwort auch braucht.
Ich folgte einige Tipps aus diesem StackOverflow answer.
Wie basarat sagte, habe ich eine Datei parallax.d.ts
genannt, jedoch mit folgenden Schnittstelle:
interface JQuery {
parallax():JQuery;
}
Dann verwies beid Parallaxe und jquery Dateien auf meine Komponente landingPage.view.ts
Datei:
///<reference path="../../../typings/browser/ambient/jquery/index.d.ts"/>
///<reference path="../../shared/parallax.d.ts"/>
und dann bearbeitet meine Komponente Klasse zu diesem:
export class AppLandingPage implements AfterViewInit {
static landingPageInitialized = false;
constructor(private el:ElementRef) {
}
ngAfterViewInit() {
if(!AppLandingPage.landingPageInitialized) {
jQuery(this.el.nativeElement)
.find('.parallax')
.parallax();
AppLandingPage.landingPageInitialized = true;
}
};
}
nun von meinem Verständnis ist der Konstruktor der Komponente durch die Referenzierung el Variable, verwende ich dieses Element in jQuery, finden die Komponenten mit der ".parallax"
Klasse und rufen Sie die Funktion parallax()
die Parallaxe Rahmen zu machen, in JS zum Ausführen.
Ich bin nicht sicher, ob ich alles so erklären werde, wie es ist, aber jetzt funktioniert es! Hehe
Nochmals vielen Dank für Ihre Hilfe!
Was passiert, wenn Sie '$ ('. Parallax'). Parallax();' aus der TS-Datei verwenden? Welche Fehlermeldung, wenn überhaupt? – acdcjunior
Tatsächlich löste ich mein anfängliches Problem, das $ (Dollar) -Zeichen zu verwenden, indem ich folgendes hinzufügte: 'import * als $ von 'jquery';'. Wenn ich jedoch '$ ('. Parallax') versuche;' in der 'ngAfterViewInit()' erhalte ich den folgenden Fehler in der Browser-Konsole: 'Fehler: SyntaxError: Unerwartetes Token < \t Bewertung von http:// localhost: 8080/jquery \t Fehler beim Laden von http: // localhost: 8080/app/main.js' –