angular4 comment appeler une fonction dans un js externe
J'ai un jscript qui affiche un journal de la console:
x.js contient
function open() {
console.log('this a function');
}
dans index.html de mon application
<script src="x.js"></script>
dans mon composant
declare var xJS : any;;
@Component({
selector: 'employerfile',
templateUrl: './employerfile.component.html'
})
export class EmployerFileComponent
.....
openURL() {
xJS.open();
}
}
en html
<a (click)="openURL()"> click </a>
Lorsque j'exécute ce code, j'obtiens une exception@
Exception d'origine: xJS n'est pas défini
Comment puis-je appeler cette fonction externe?
OriginalL'auteur Florence | 2017-06-19
Vous devez vous connecter pour publier un commentaire.
L'importation de votre fichier comme ceci
<script src="x.js"></script>
ne fonctionnera pas.Vous devez importer de la façon suivante:
Si elle ne fonctionne pas, l'alternative est d'utiliser
System.import
:Vous pouvez vérifier les points suivants DONC, après les.
Pouvez-vous faire de votre fichier externe comme un module et d'exporter votre fonction:
export default function open(){ .... }
J'ai le même problème, mais la différence est le js je suis notamment, est dans le site web et non local
https://chggtt.gt/Critgtek/cfr.cerfritek.js
de sorte que toute solution pour cela ?Je n'ai jamais été confronté à un problème avec un lien externe. Peut-être que ce post peut vous aider stackoverflow.com/q/34607252/2765346 Bonne chance 🙂
La première approche fonctionne, merci beaucoup.
OriginalL'auteur Hristo Eftimov
Vous devez déclarer le nom de la fonction que vous souhaitez utiliser dans votre angulaire d'un élément-
En fait cela indique au compilateur que
open
existe quelque part, qui sera ensuite trouvé dans votrejs
fichier.Aussi, utiliser la méthode ci-dessus dans votre composant, vous devrez utiliser cette syntaxe-
Quand j'ai essayé votre réponse, j'ai eu "Modificateurs peuvent'tappear ici" erreur.
Ce qui a fonctionné pour moi est j'ai mis le laisser ouvert: tout; et alors ignorer le lintrule de mettre const , au lieu de les laisser. Le garder comme laisser. Sans le "déclarer" mot.
OriginalL'auteur Karan Hudia
Vous devez d'abord les importer comme ceci:
OriginalL'auteur borkovski
Si votre x.le js n'est pas sur votre machine locale ou hébergée sur un CDN ou c'est la troisième partie de la bibliothèque, alors vous ne pouvez pas importer dans la manière indiquée ci-dessus. Même Système.l'importation est obsolète.
Vous pouvez ajouter votre fichier js dans index.html et d'appeler de ses fonctions à l'aide de fenêtre global de l'objet, comme nous le faire plus tôt.
OriginalL'auteur Shivang Gupta