Angular5中调用第三方js插件的方法


Posted in Javascript onFebruary 26, 2018

话不多说直入主题,最常见的有三种方式来引用第三方插件,下面以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插件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
12个非常有创意的JavaScript小游戏
Mar 18 Javascript
javascript 当前日期转化为中文的实现代码
May 13 Javascript
javascript实现密码强度显示
Mar 18 Javascript
jQuery $.each遍历对象、数组用法实例
Apr 16 Javascript
JavaScript实现级联菜单的方法
Jun 29 Javascript
原生JS实现网络彩票投注效果
Sep 25 Javascript
Bootstrap列表组学习使用
Feb 09 Javascript
移动端刮刮乐的实现方式(js+HTML5)
Mar 23 Javascript
了解ESlint和其相关操作小结
May 21 Javascript
详解Angular操作cookies方法
Jun 01 Javascript
angularjs的单选框+ng-repeat的实现方法
Sep 12 Javascript
Vue3.0数据响应式原理详解
Oct 09 Javascript
angular2中使用第三方js库的实例
Feb 26 #Javascript
vue 子组件向父组件传值方法
Feb 26 #Javascript
vue2 前端搜索实现示例
Feb 26 #Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 #Javascript
vue的全局提示框组件实例代码
Feb 26 #Javascript
Angular4 ElementRef的应用
Feb 26 #Javascript
vue cli构建的项目中请求代理与项目打包问题
Feb 26 #Javascript
You might like
PHP常用代码
2006/11/23 PHP
php fread读取文件注意事项
2016/09/24 PHP
详细分析PHP 命名空间(namespace)
2020/06/30 PHP
一些不错的js函数ajax
2008/08/20 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
JS实现多功能计算器
2020/10/28 Javascript
Python中使用ElementTree解析XML示例
2015/06/02 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
keras做CNN的训练误差loss的下降操作
2020/06/22 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
Proenza Schouler官方网站:纽约女装和配饰品牌
2019/01/03 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
优秀教师获奖感言
2014/01/31 职场文书
给领导的检讨书
2014/02/16 职场文书
检举信的格式及范文
2014/04/04 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
2014年科技工作总结
2014/11/26 职场文书
个人承诺书格式范文
2015/04/29 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
Django操作cookie的实现
2021/05/26 Python
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android
Redis基本数据类型List常用操作命令
2022/06/01 Redis