Angular 如何 Import 普通的 JavaScript Library

Angular 如何import 一般的JavaScript  Library?

在 Angular 2+ 的時代,我們都知道在TypeScript當中,如果要使用其他別人的套件

則必須要在最上方當中進行 import

例如:

import { Module Name } from 'Module Path'

但是這樣的模組化概念是在幾年前才興盛的,也就是說,如果想要使用更早以前的 JavaScript Library該如何與 Angular 2+ 搭配呢?

其實使用方法相當簡單。

使用方法其實與 jQuery套件使用方法一樣。
當我們將我們想要的Library在 index.html 利用 Script標籤進行載入的時候,我們會發現到,明明已經載入了可是為什麼編譯過後卻還是說找不到該Function呢?

這道理其實跟jQuery一樣,就好比Angular 認不得 $ 是一樣的。

這時候我們需要在src/typings.d.ts 當中 宣告一個全域的變數 declare var $: any;

讓我們的 Angular 認得懂 $ 這個東西

相同的,現在我們的TS,當然也認不得我們Library當中的 Function

所以,我們依然要在那邊加入我們要的 Function Name

declare var 你的function Name;  (PS: 這裡只需要打上 FunctionName就好,不需要加上小括號)

如此一來,我們的Angular就可以認得這個套件當中的Function了。

最後,假設如果需要在你的 Template當中,想要直接在event上 Binding該套件的函數的話,那你需要在TS當中,自行建立空的函數

並在函數內,呼叫套件的函數才可以執行。

原因是因為,Angular的 Template 他只會去找TS當中的函數進行Mapping。

因此如果該函數不自行建立的話,他就會找不到,進而發生錯誤。
 

以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教:)

有任何家教、案子 或技術相關問題 請都歡迎聯繫我

http://www.zhenghui.idv.tw/