angular - Πώς να εισαγάγετε ένα αρχείο javascript σε ένα έργο angular4 και να χρησιμοποιήσετε τη λειτουργία του μέσα σε ένα component;


Προσπαθώ να εισάγω το αρχείο openseadragon.min.js στο index.html και να χρησιμοποιήσω τη λειτουργία του όπως παρακάτω,

var viewer = OpenSeadragon({
  id: "seadragon-viewer"
});

Αλλά εμφανίζει σφάλμα σαν το OpenSeadragon να είναι undefined.

Οποιαδήποτε λύση θα εκτιμηθεί, Ευχαριστώ

Απάντηση #1

Δοκίμασε να δηλώσεις τη μεταβλητή στην κορυφή του component σου αμέσως κάτω από τις εισαγωγές σου, όχι μέσα στη δήλωση εξαγωγής της κλάσης.

import { Component } from '@angular/core';

declare var OpenSeadragon: any;

@Component({
...
})

Απάντηση #2

Χρειάζεστε τύπους Angular για να το κάνετε σωστά για το OpenSeadragon. Επίσης, δεν θα πρέπει να χρησιμοποιείτε var στο TypeScript καθώς σπάει το πλαίσιο και προκαλεί προβλήματα με το scope και το hoisting.

Παρακαλώ δείτε το https://github.com/alvaromartmart/types-openseadragon για τα typings