如何在AngularJs中调用第三方插件库


Posted in Javascript onMay 21, 2017

在AngularJs中我们会不可避免的使用第三方库,例如jquery插件库。我们不能散乱的在AngularJS中引入这些库,例如在controller中。那么应该怎么在Angular中使用第三方库呢?

如何使用?

很简单,给插件写一个directive。

在这里,我会使用一个简单的jquery插件Toolbar.js 的DEMO。

这是我们如何在jquery中创建一个tooltip的:

<!-- Click this to see a toolbar --> 
<div id="format-toolbar" class="settings-button"> 
  <img src="http://paulkinzett.github.com/toolbar/img/icon-cog-small.png"> 
</div> 
  
<!-- Our tooltip style toolbar --> 
<div id="format-toolbar-options"> 
  <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><i class="icon-align-left"></i></a> 
  <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><i class="icon-align-center"></i></a> 
  <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><i class="icon-align-right"></i></a> 
</div>
<!-- Typical jQuery plugin invocation --> 
$('#format-toolbar').toolbar({ 
  content: '#format-toolbar-options',  
  position: 'left' 
});

在Angular中使用

在这里我们自定义一个元素属性'toolbar-tip'--这使我们要写的Angular directive。我们改写下html:

<div id="format-toolbar1" class="settings-button" toolbar-tip="{content: '#format-toolbar-options', position: 'top'}"> 
  <img src="http://paulkinzett.github.com/toolbar/img/icon-cog-small.png"> 
</div>

这里需要注意的一点是:我们把toolbar的options全部写到了html中,这样,我们就可以在任意地方使用相同的directive。
最终:

<script> 
var App = angular.module('Toolbar', []); 
  
App.directive('toolbarTip', function() { 
  return { 
    // Restrict it to be an attribute in this case 
    restrict: 'A', 
    // responsible for registering DOM listeners as well as updating the DOM 
    link: function(scope, element, attrs) { 
      $(element).toolbar(scope.$eval(attrs.toolbarTip)); 
    } 
  }; 
}); 
</script>

这样就很简单的在Angular中引用了第三方插件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js控制CSS样式属性语法对照表
Dec 11 Javascript
js 中将多个逗号替换为一个逗号的代码
Jun 07 Javascript
jQuery获取节点和子节点文本的方法
Jul 22 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
Jun 05 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
Sep 04 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
Nov 03 Javascript
Javascript中字符串replace方法的第二个参数探究
Dec 05 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
Apr 25 Javascript
浅谈express 中间件机制及实现原理
Aug 31 Javascript
vue源码入口文件分析(推荐)
Jan 30 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
Feb 28 Javascript
jQuery 动态粒子效果示例代码
Jul 07 jQuery
详解Angular-Cli中引用第三方库
May 21 #Javascript
Angular2安装angular-cli
May 21 #Javascript
Angular2使用Augury来调试Angular2程序
May 21 #Javascript
Angular2使用Angular-CLI快速搭建工程(二)
May 21 #Javascript
Angular2使用Angular CLI快速搭建工程(一)
May 21 #Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
May 20 #jQuery
node.js 中间件express-session使用详解
May 20 #Javascript
You might like
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
ThinkPHP实现分页功能
2017/04/28 PHP
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
React简单介绍
2017/05/24 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
Python2.7 实现引入自己写的类方法
2018/04/29 Python
python把1变成01的步骤总结
2019/02/27 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
使用python制作一个解压缩软件
2019/11/13 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
Pytorch 数据加载与数据预处理方式
2019/12/31 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
公司门卫管理制度
2014/02/01 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
小学安全工作总结2015
2015/05/18 职场文书
2016七一建党节慰问信
2015/11/30 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
导游词之襄阳古城
2019/09/27 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android
JavaScript实现简单的音乐播放器
2022/08/14 Javascript