話不多說直入主題,最常見的有三種方式來引用第三方插件,下面以jquery插件及基于JQuery的兩款插件:nicescroll和rangeSlider為例。
一、第一種方式:在.angular-cli.json文件中配置
步驟:
1.在項目根目錄.angular-cli.json文件中找到script字段,在數組中添加要引用的所有js文件(注意先后順序)
"scripts": ["assets/jquery-3.2.1.js","assets/jquery.nicescroll.js","assets/ion.rangeSlider.js"],
2.在需要用該插件的組件中(.ts文件中)做如下聲明:declare var $:any;
目的是不讓編譯時報錯
3.接下來在ngOnInit方法中就能正常用上面的三款插件了。
二、第二種方式:在index.html頁面上引用插件
步驟:
1.在根目錄的index.html頁面中添加如下引用:
<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;
目的是不讓編譯時報錯
3.接下來在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;
目的是不讓編譯時報錯
3.接下來在ngOnInit方法中就能正常用上面的三款插件了
三種方式都介紹完了,下面來說說需要注意的事情,前兩種方式需要重啟服務才會有效果(我當時用的ng serve,不重啟的話不起作用);第三種方式無需重啟服務,直接就能看到效果。
真是吐血的教訓,剛開始嘗試的前兩種方式,怎么著都不成功,最后第三種方式成功了,后來重啟了下服務,發現前兩種方式也成功了。
不知道為什么前兩種方式需要重啟服務,自我猜測下:也許是前兩種都是修改的app文件夾外面的文件,不會自動檢測和編譯,而第三種方式能檢測到。
不知猜的對不對,如果有大牛了解內部原理,望不吝賜教。
以上這篇Angular5中調用第三方js插件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答