Saya memiliki file JavaScript bernama abc.jsyang memiliki fungsi 'publik' yang disebut xyz(). Saya ingin memanggil fungsi itu dalam proyek Angular saya. Bagaimana aku melakukan itu?
Saya memiliki file JavaScript bernama abc.jsyang memiliki fungsi 'publik' yang disebut xyz(). Saya ingin memanggil fungsi itu dalam proyek Angular saya. Bagaimana aku melakukan itu?
Jawaban:
Lihat skrip di dalam file angular-cli.json( angular.jsonsaat menggunakan angular 6+).
"scripts": [
"../path"
];
lalu tambahkan typings.d.ts(buat file ini srcjika belum ada)
declare var variableName:any;
Impor di file Anda sebagai
import * as variable from 'variableName';
plunkeruntuk mereproduksi
Untuk memasukkan pustaka global, misalnya jquery.jsfile dalam larik skrip dari angular-cli.json( angular.jsonsaat menggunakan sudut 6+):
"scripts": [
"../node_modules/jquery/dist/jquery.js"
]
Setelah ini, mulai ulang servis jika sudah dimulai.
declare var $: any;
Tambahkan file js eksternal di index.html .
<script src="./assets/vendors/myjs.js"></script>
Ini file myjs.js :
var myExtObject = (function() {
return {
func1: function() {
alert('function 1 called');
},
func2: function() {
alert('function 2 called');
}
}
})(myExtObject||{})
var webGlObject = (function() {
return {
init: function() {
alert('webGlObject initialized');
}
}
})(webGlObject||{})
Kemudian nyatakan dalam komponen seperti di bawah ini
demo.component.ts
declare var myExtObject: any;
declare var webGlObject: any;
constructor(){
webGlObject.init();
}
callFunction1() {
myExtObject.func1();
}
callFunction2() {
myExtObject.func2();
}
demo.component.html
<div>
<p>click below buttons for function call</p>
<button (click)="callFunction1()">Call Function 1</button>
<button (click)="callFunction2()">Call Function 2</button>
</div>
Ini bekerja untuk saya ...
declaredilakukannya - pada dasarnya " declaredigunakan untuk memberitahu naskah bahwa variabel tersebut telah dibuat di tempat lain " (dari jawaban ini ).
Anda juga bisa
import * as abc from './abc';
abc.xyz();
atau
import { xyz } from './abc';
xyz()