欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Angular2整合其他插件的方法

 更新時間:2018年01月20日 11:03:22   投稿:laozhang  
本文給大家詳細分析了Angular2整合其他插件的方法,有興趣的朋友學習下。

前言:現(xiàn)在有很多朋友在接觸Angular2的時候,總是不可避免的會使用一些其他的第3方的插件,而這些插件可能都是基于jQuery的,而且也沒有對應(yīng)的angular2的版本,這里我就來講解一下,在這種情況下,如何整合第3方的jQuery插件。我們以Angular2整合zTree為例來說明整合的思路及過程。

zTree官方網(wǎng)站: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.看到這個效果之后,我們再來看這個例子的代碼:關(guān)鍵代碼在這里:

$(document).ready(function(){
      $.fn.zTree.init($("#treeDemo"), setting, zNodes);
 });

這段代碼中使用了jQuery,對吧,那我們要集成zTree進來的話,就必須先把jQuery引入進來。那我們先不管怎么來集成zTree,我們先來解決如何將jQuery引入進來的問題:

3.引入jQuery到angular2項目中,當然,如果你使用的插件沒有依賴jQuery的話可以跳過這個步驟,不過一般第3方插件都依賴它,對吧。引入jQuery的話,就比較簡單,只要在index.html文件中引入進來就可以了:

<script src="node_modules/jquery/dist/jquery.min.js"></script>

引入進來之后,我們需要測試下,jQuery是否成功引入進來。我們使用ng g c demo命令生成一個組件來測試jQuery是否成功引入:

![輸入圖片說明](https://static.oschina.net/uploads/img/201703/26202750_1UeL.png "在這里輸入圖片標題")你會看到,angular-cli已經(jīng)幫我們生成了必要的文件,然后我們打開demo.component.ts文件,在import語句后面添加以下內(nèi)容:

declare var $ : any;
import { Component, OnInit } from '@angular/core';declare var $ : any;
@Component({selector: 'app-demo',templateUrl: './demo.component.html',styleUrls: ['./demo.component.css']})export class DemoComponent implements OnInit {
constructor() { }
ngOnInit() {console.log($);}

}

上面代碼添加完成之后,查看瀏覽器的控制臺輸出:

![輸入圖片說明](https://static.oschina.net/uploads/img/201703/26203534_TLtD.png "在這里輸入圖片標題")會發(fā)現(xiàn)輸出的就是我們平時使用到的jquery對象$。到此,我們就算成功引入jQuery到項目中了。

4.將zTree的js庫和css庫引入到項目中,在index.html文件中我們添加以下代碼:

<link rel="stylesheet" type="text/css" href="./assets/zTree/css/metroStyle/metroStyle.css" rel="external nofollow" > <script src="./assets/zTree/js/jquery.ztree.core.min.js"></script>```這樣之后,我們就可以測試zTree是否正常引入進來了,我們在demo.component.ts文件中的ngOnInit方法中添加以下代碼:```console.log($.fn.zTree);```查看控制臺會發(fā)現(xiàn),以下輸出:![輸入圖片說明](https://static.oschina.net/uploads/img/201703/26204017_4TLk.png "在這里輸入圖片標題")在輸出的內(nèi)容我們可以看到,有zTree用來初始化的init方法,這樣我們就可以真正的來寫一個zTree的例子了。

5.zTree例子

我們通過查看zTree的初始化代碼,會發(fā)現(xiàn),需要3個參數(shù),其中第一個參數(shù)是一個jQuery的對象,第二個參數(shù)是zTree的配置對象,具體可以查看zTree的官方文檔來看有哪些參數(shù)可以設(shè)置(http://www.treejs.cn/v3/api.php),第三個參數(shù)是用來出事zTree節(jié)點的數(shù)據(jù)。

這里我們直接使用zTree中demo的代碼直接復制到demo.component.ts文件中:

import { Component, OnInit } from '@angular/core';
declare var $ : any;
@Component({
 selector: 'app-demo',
 templateUrl: './demo.component.html',
 styleUrls: ['./demo.component.css']
})
export class DemoComponent implements OnInit {
setting = {
  data: {
   simpleData: {
    enable: true
   }
  }
 };
 zNodes = [
  { id: 1, pId: 0, name: "父節(jié)點1 - 展開", open: true },
  { id: 11, pId: 1, name: "父節(jié)點11 - 折疊" },
  { id: 111, pId: 11, name: "葉子節(jié)點111" },
  { id: 112, pId: 11, name: "葉子節(jié)點112" },
  { id: 113, pId: 11, name: "葉子節(jié)點113" },
  { id: 114, pId: 11, name: "葉子節(jié)點114" },
  { id: 12, pId: 1, name: "父節(jié)點12 - 折疊" },
  { id: 121, pId: 12, name: "葉子節(jié)點121" },
  { id: 122, pId: 12, name: "葉子節(jié)點122" },
  { id: 123, pId: 12, name: "葉子節(jié)點123" },
  { id: 124, pId: 12, name: "葉子節(jié)點124" },
  { id: 13, pId: 1, name: "父節(jié)點13 - 沒有子節(jié)點", isParent: true },
  { id: 2, pId: 0, name: "父節(jié)點2 - 折疊" },
  { id: 21, pId: 2, name: "父節(jié)點21 - 展開", open: true },
  { id: 211, pId: 21, name: "葉子節(jié)點211" },
  { id: 212, pId: 21, name: "葉子節(jié)點212" },
  { id: 213, pId: 21, name: "葉子節(jié)點213" },
  { id: 214, pId: 21, name: "葉子節(jié)點214" },
  { id: 22, pId: 2, name: "父節(jié)點22 - 折疊" },
  { id: 221, pId: 22, name: "葉子節(jié)點221" },
  { id: 222, pId: 22, name: "葉子節(jié)點222" },
  { id: 223, pId: 22, name: "葉子節(jié)點223" },
  { id: 224, pId: 22, name: "葉子節(jié)點224" },
  { id: 23, pId: 2, name: "父節(jié)點23 - 折疊" },
  { id: 231, pId: 23, name: "葉子節(jié)點231" },
  { id: 232, pId: 23, name: "葉子節(jié)點232" },
  { id: 233, pId: 23, name: "葉子節(jié)點233" },
  { id: 234, pId: 23, name: "葉子節(jié)點234" },
  { id: 3, pId: 0, name: "父節(jié)點3 - 沒有子節(jié)點", isParent: true }
 ];
 constructor() { 
 }
 ngOnInit() {
  $.fn.zTree($("#ztree"),this.setting,this.zNodes);
 }

}

看上面的代碼中, $.fn.zTree($("#ztree"),this.setting,this.zNodes);這里我們用到了jQuery的id選擇器,那么我們需要在模板文件demo.component.html中添加一個id為ztree的ul元素

<ul id="ztree"><ul>

至于為什么是ul,可以看zTree的文檔,當然你也可以試試別的元素,看能不能實現(xiàn)。

到這里之后,zTree就算被我們集成進來了。效果和對應(yīng)的項目代碼在這里:https://git.oschina.net/zt_zhong/CodeBe

相關(guān)文章

  • Commands Queries設(shè)計模式提高Angular應(yīng)用性能及可維護性

    Commands Queries設(shè)計模式提高Angular應(yīng)用性能及可維護性

    在Angular應(yīng)用開發(fā)領(lǐng)域,Commands and Queries 設(shè)計模式是一個關(guān)鍵的概念,它有助于有效地管理應(yīng)用程序的狀態(tài)和與后端的交互,本文將深入探討這一設(shè)計模式的核心要點,并通過實際示例來加以說明
    2023-10-10
  • 實踐中學習AngularJS表單

    實踐中學習AngularJS表單

    表單是最常用的一種組建。在Angular.js中,其實并沒有單獨的為表單添加多少特殊功能。但是,利用Angular.js框架本身的特點,可以更友好的呈現(xiàn)表單。下面將介紹幾種常用的功能在Angular中是如何巧妙實現(xiàn)的
    2016-03-03
  • AngularJs directive詳解及示例代碼

    AngularJs directive詳解及示例代碼

    本文主要講解AngularJs directive的知識,這里整理了相關(guān)資料及示例代碼,有興趣的小伙伴可以參考下
    2016-09-09
  • Angular的Bootstrap(引導)和Compiler(編譯)機制

    Angular的Bootstrap(引導)和Compiler(編譯)機制

    這篇文章主要介紹了Angular的Bootstrap(引導)和Compiler(編譯)機制的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • 對angularjs框架下controller間的傳值方法詳解

    對angularjs框架下controller間的傳值方法詳解

    今天小編就為大家分享一篇對angularjs框架下controller間的傳值方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • angular2 NgModel模塊的具體使用方法

    angular2 NgModel模塊的具體使用方法

    這篇文章主要介紹了angular2 NgModel模塊的具體使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • AngularJs根據(jù)訪問的頁面動態(tài)加載Controller的解決方案

    AngularJs根據(jù)訪問的頁面動態(tài)加載Controller的解決方案

    這篇文章主要介紹了AngularJs根據(jù)訪問的頁面動態(tài)加載Controller的解決方案,需要的朋友可以參考下
    2015-02-02
  • Angular.js基礎(chǔ)學習之初始化

    Angular.js基礎(chǔ)學習之初始化

    這篇文章主要介紹了Angular.js基礎(chǔ)學習之初始化的相關(guān)資料,AngularJS 啟動有兩種方式,一種是綁定初始化,自動加載,另外一種是手動初始化,文中介紹的很詳細,需要的朋友可以參考下。
    2017-03-03
  • 利用Angular.js編寫公共提示模塊的方法教程

    利用Angular.js編寫公共提示模塊的方法教程

    最近工作中會經(jīng)常遇到一些公用提示,使用框架自帶很多時候不方便所以便自己編寫了一個公共提示模塊,下面這篇文章主要介紹了利用Angular.js編寫公共提示模塊的方法教程,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • Angular 表單控件示例代碼

    Angular 表單控件示例代碼

    本文的主要是演示 Template-driven 中,一些常用控件的使用方式,僅供參考。具體請根據(jù)實際業(yè)務(wù)需求做相應(yīng)調(diào)整。
    2017-06-06

最新評論