前言:现在有很多朋友在接触Angular2的时候,总是不可避免的会使用一些其他的第3方的插件,而这些插件可能都是基于jQuery的,而且也没有对应的angular2的版本,这里我就来讲解一下,在这种情况下,如何整合第3方的jQuery插件。我们以Angular2整合zTree为例来说明整合的思路及过程。
zTree官方网站:http://www.treejs.cn/v3/main.php#_zTreeInfo
1.一般我在想要将像zTree这种插件集成进来的时候,我会先直接去看zTree它们的在线例子,比如说这个例子:
https://github.com/zTree/zTree_v3/blob/master/demo/cn/super/metro.html
效果图是这样的:
2.看到这个效果之后,我们再来看这个例子的代码:关键代码在这里:
这段代码中使用了jQuery,对吧,那我们要集成zTree进来的话,就必须先把jQuery引入进来。那我们先不管怎么来集成zTree,我们先来解决如何将jQuery引入进来的问题:
3.引入jQuery到angular2项目中,当然,如果你使用的插件没有依赖jQuery的话可以跳过这个步骤,不过一般第3方插件都依赖它,对吧。引入jQuery的话,就比较简单,只要在index.html文件中引入进来就可以了:
```这样之后,我们就可以测试zTree是否正常引入进来了,我们在demo.component.ts文件中的ngOnInit方法中添加以下代码:```console.log($.fn.zTree);```查看控制台会发现,以下输出:输入<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>说明在输出的内容我们可以看到,有zTree用来初始化的init方法,这样我们就可以真正的来写一个zTree的例子了。
5.zTree例子
我们通过查看zTree的初始化代码,会发现,需要3个参数,其中第一个参数是一个jQuery的对象,第二个参数是zTree的配置对象,具体可以查看zTree的官方文档来看有哪些参数可以设置(http://www.treejs.cn/v3/api.PHP),第三个参数是用来出事zTree节点的数据。
这里我们直接使用zTree中demo的代码直接复制到demo.component.ts文件中:
看上面的代码中, $.fn.zTree($("#ztree"),this.zNodes);这里我们用到了jQuery的id选择器,那么我们需要在模板文件demo.component.html中添加一个id为ztree的ul元素
至于为什么是ul,可以看zTree的文档,当然你也可以试试别的元素,看能不能实现。
到这里之后,zTree就算被我们集成进来了。效果和对应的项目代码在这里:https://git.oschina.net/zt_zhong/CodeBe
原文链接:https://www.f2er.com/js/34114.html