と呼ばれるabc.js「パブリック」関数を持つJavaScriptファイルがありますxyz()。Angularプロジェクトでその関数を呼び出したいのですが。それ、どうやったら出来るの?
と呼ばれるabc.js「パブリック」関数を持つJavaScriptファイルがありますxyz()。Angularプロジェクトでその関数を呼び出したいのですが。それ、どうやったら出来るの?
回答:
angular-cli.json(angular.jsonAngle 6+を使用する場合)ファイル内のスクリプトを参照してください。
"scripts": [
"../path"
];
次に追加しますtypings.d.ts(srcまだ存在しない場合は、このファイルを作成します)
declare var variableName:any;
ファイルにインポートする
import * as variable from 'variableName';
plunker再現するために作成できますか
グローバルライブラリを含めるには、たとえばjquery.js、スクリプト配列内のファイルangular-cli.json(angular.json角度6+を使用する場合):
"scripts": [
"../node_modules/jquery/dist/jquery.js"
]
この後、ng serveが既に起動している場合は再起動します。
declare var $: any;
index.htmlに外部jsファイルを追加します。
<script src="./assets/vendors/myjs.js"></script>
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||{})
次に、以下のようにコンポーネントにあることを宣言します
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>
それは私のために働いています...
あなたはどちらか
import * as abc from './abc';
abc.xyz();
または
import { xyz } from './abc';
xyz()