話不多說(shuō)直入主題,最常見(jiàn)的有三種方式來(lái)引用第三方插件,下面以jquery插件及基于JQuery的兩款插件:nicescroll和rangeSlider為例。
一、第一種方式:在.angular-cli.json文件中配置
步驟:
1.在項(xiàng)目根目錄.angular-cli.json文件中找到script字段,在數(shù)組中添加要引用的所有js文件(注意先后順序)
"scripts": ["assets/jquery-3.2.1.js","assets/jquery.nicescroll.js","assets/ion.rangeSlider.js"],
2.在需要用該插件的組件中(.ts文件中)做如下聲明:declare var $:any;
目的是不讓編譯時(shí)報(bào)錯(cuò)
3.接下來(lái)在ngOnInit方法中就能正常用上面的三款插件了。
二、第二種方式:在index.html頁(yè)面上引用插件
步驟:
1.在根目錄的index.html頁(yè)面中添加如下引用:
<script type="text/javascript" src="assets/jquery-3.2.1.js"></script> <script type="text/javascript" src="assets/jquery.nicescroll.js"></script>
2.在需要用該插件的組件中(.ts文件中)做如下聲明:declare var $:any;
目的是不讓編譯時(shí)報(bào)錯(cuò)
3.接下來(lái)在ngOnInit方法中就能正常用上面的三款插件了
三、在具體組件中import 插件
步驟:
1.在需要用到插件的ts文件中添加如下引用:
import "assets/jquery-3.2.1.js"; import "assets/jquery.nicescroll.js"; import "assets/ion.rangeSlider.js";
2.在需要用該插件的組件中(.ts文件中)做如下聲明:declare var $:any;
目的是不讓編譯時(shí)報(bào)錯(cuò)
3.接下來(lái)在ngOnInit方法中就能正常用上面的三款插件了
三種方式都介紹完了,下面來(lái)說(shuō)說(shuō)需要注意的事情,前兩種方式需要重啟服務(wù)才會(huì)有效果(我當(dāng)時(shí)用的ng serve,不重啟的話不起作用);第三種方式無(wú)需重啟服務(wù),直接就能看到效果。
真是吐血的教訓(xùn),剛開(kāi)始嘗試的前兩種方式,怎么著都不成功,最后第三種方式成功了,后來(lái)重啟了下服務(wù),發(fā)現(xiàn)前兩種方式也成功了。
不知道為什么前兩種方式需要重啟服務(wù),自我猜測(cè)下:也許是前兩種都是修改的app文件夾外面的文件,不會(huì)自動(dòng)檢測(cè)和編譯,而第三種方式能檢測(cè)到。
不知猜的對(duì)不對(duì),如果有大牛了解內(nèi)部原理,望不吝賜教。
以上這篇Angular5中調(diào)用第三方j(luò)s插件的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持錯(cuò)新站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選