Ich habe eine JavaScript-Methode in einer externen JS-Datei. In einem Ionic 2-Projekt muss ich einige Methoden der AnyJS
Funktion von meinem home.ts
aufrufen. Ich habe die JS-Datei in einem <script>
-Tag in index.html
enthalten. Ich habe AnyJS
wie dieses declare var AnyJS: any;
über @Component
in meinem home.ts
erklärt.So rufen Sie eine externe JavaScript-Funktion in Ionic 2
nun beim Erstellen eines Objekts mithilfe des new
Stichwort im Konstruktor Ich erhalte die folgenden Referenzfehler:
5 713568 error EXCEPTION: Error in ./HomePage class HomePage_Host - inline template:0:0 caused by: AnyJS is not defined 6 713570 error ORIGINAL EXCEPTION: AnyJS is not defined 8 713575 error
ReferenceError: AnyJS is not defined
Die ionische Version Ich verwende:
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
ios-deploy version: 1.8.3
ios-sim version: 5.0.4
OS: Mac OS X El Capitan
Node Version: v6.8.0
Xcode version: Xcode 8.0 Build version 8A218a
Hier ist die home.ts
:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
declare var AnyJS: any;
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
private anyjs : any;
private method : any;
constructor(public navCtrl: NavController) {
this.anyjs = new AnyJS();
this.method = this.anyjs.methodCall();
}
}
Und hier ist meine AnyJS-Datei :
function AnyJS(){}
AnyJS.prototype.methodCall = function() {
console.log("Done!");
return true;
};
Hinweis: AnyJS Datei enthält ein Objekt mit einigen Eigenschaften und Methoden, die nicht mit den neuesten Standards ES6 aber schlicht JS Methoden entsprechen. Ich muss ein Objekt erstellen und die Methoden direkt von meinem home.ts
aufrufen.
Vielen Dank für Ihre Hilfe. Aber muss ich die Funktionen in der externen js in TypeScript neu schreiben? Gibt es eine andere Lösung zum Importieren meiner JS-Datei, wie sie ist, ohne in TypeScript neu zu schreiben? –
Sie können ein Modul mit es6 deklarieren: 'deklarieren Sie Modul" foo "{ Export Klasse Foo {} }' zum Beispiel. –
Könnte bitte das auch erklären? Weil ich meine js-Datei so importieren möchte, wie sie ist, ohne sie in TypeScript neu zu schreiben. –