最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Angular2使用jQuery的方法教程

 更新時間:2017年05月28日 15:20:06   作者:cipchk  
這篇文章主要給大家介紹了關于Angular2使用jQuery的方法教程,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來跟著小編一起學習學習吧。

前言

Angular2是以TypeScript語言作為默認編碼語言,所以你看到的全部都是.ts結尾的文件。

那什么是TypeScript

首先,它是一個編譯型語言;既然是編譯型,那么你像重構、導航、智能提醒這種工具屬性就可以發(fā)揮出來,所以你會發(fā)現使用VS CODE來寫Angular簡直就是絕配。

同時,TypeScript還帶來一些ES6/7才有特性,比如let、const、async等,你無須關心ES幾。

最霸氣,TypeScript還是一個強類型、泛型、多態(tài)等一些面向對象編程的東西。

那,為何我們不選它呢?

當然,說了這么多,這跟主題看似無關,但如果你了解這些,才能看到問題的本質。

首先,第一關鍵點編譯型,既然是編譯型,那么你在代碼中出現的任何變量、類、函數都是必須要存在,否則TA就會在編譯時報錯。

但,問題來了,現在的JavaScript世界中已經有那么多現成的第三方庫,難道說都不能用了?非也!

TypeScript一開始就照顧這些了,所以就會有一個叫.d.ts的聲明文件。MS當然不會讓你去編寫這一個文件,所以就有一個叫http://definitelytyped.org/ 網站,TA匯集了很多現成類庫的第三方.d.ts的聲明文件提供我們下載。

方法一

當然是使用最正規(guī)軍了,用命令安裝jQuery的聲明文件。

npm install -D @types/jquery

以及使用

import * as $ from 'jquery';

$('body').addClass('');

完美的智能提示,如果你在VS CODE下的話。

方法二

對于一些并未提供 .d.ts 聲明文件的類庫,我們怎么辦?那當然只能自己寫了。

什么?自己寫?很困難吧!很復雜吧!

沒那么一回事,聲明文件其實是對一些類庫接口的描述,以下是我截取一段jQuery聲明文件的部分代碼

interface JQueryStatic {
 /**
  * 去掉字符串首尾空格
  *
  * @param str 字符串
  * @see {@link https://api.jquery.com/jQuery.trim/}
  */
 trim(str: string): string;
}

declare var $: JQueryStatic;

我還特意譯成中文,這里的含量很少,最關鍵的就是 declare 它就是把一個變量 $ 定義成類型 JQueryStatic (還是個接口)。

這樣,TS編譯器在遇到 $ 時會去找該類型,并且你的代碼里面不能出現 $.time1() 之類的,因為你的接口,只有一個 $.trim() 。

等等,jQuery幾十個接口,我都要這么寫嗎?

NO?。?!當然不是,除非你想寫一個又漂亮、又好看、又是中文、又是完美智能提示的聲明文件的話。

否則,你那就拿 any 類型吧,TA就是萬能貨。你不需要寫一個很復雜的聲明文件,只需要:

declare var $: any;

簡單粗暴有效!

結論

哎~其實是因群里每天都可以看到一句【怎么使用jQuery】;雖然最簡單的結果只需要一句話 declare var $: any;,但我還是啰里吧嗦將了一大堆,可不把前因后果將清楚,我煩~。

另,此解只是拋磚引玉,在很多類庫中都是通用的辦法。但我建議還是找一些Angular2類庫來使用,因為如何更有效的管理JavaScript運行,是一門學問。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家腳本之家的支持。

相關文章

最新評論

杂多县| 开封县| 桦甸市| 壤塘县| 奈曼旗| 洱源县| 额敏县| 林甸县| 开封县| 永昌县| 台中市| 开原市| 张家港市| 镇巴县| 宜宾市| 阜康市| 手游| 西乡县| 江安县| 绩溪县| 庆元县| 新巴尔虎右旗| 宣化县| 察雅县| 宜君县| 德昌县| 琼海市| 砀山县| 深水埗区| 克什克腾旗| 星子县| 乌审旗| 贞丰县| 山西省| 康马县| 金寨县| 屯昌县| 青龙| 晋江市| 迭部县| 南乐县|