I have a jscript which displays a log to the console:
x.js contains
function open() {
console.log('this a function');
}
in index.html of my app
<script src="x.js"></script>
in my component
declare var xJS : any;;
@Component({
selector: 'employerfile',
templateUrl: './employerfile.component.html'
})
export class EmployerFileComponent
.....
openURL() {
xJS.open();
}
}
in html
<a (click)="openURL()"> click </a>
When I execute this code, I get an exception@
Original exception: xJS is not defined
How can I call this external function?
You should first import it like this:
You have to declare the name of the function you want to use in your angular component, as-
This basically tells the compiler that
open
exists somewhere, which will be then found in yourjs
file.Also, to use the above method in your component, you will have to use this syntax-
If your x.js file is not on your local machine or hosted on CDN or it is third-party library then you can't import it in above ways. Even System.import is deprecated.
You can add your js file into index.html and call its functions using window global object as we do earlier.
Importing your file like this
<script src="x.js"></script>
will not work.You have to import it in the following way:
If it will not work, the alternative way is to use
System.import
:You can check the following SO post.