今天我們講講項(xiàng)目中實(shí)戰(zhàn)就是文字展開(kāi)收起組件的實(shí)現(xiàn)過(guò)程,講解這個(gè)就是為了讓多給大家一個(gè)思路,想法?! 『?jiǎn)單來(lái)說(shuō)文字展開(kāi)收起組件產(chǎn)生的需求背景,就是為省略顯示,然后有展開(kāi)收起的按鈕可以操作。我們看顯示效果上圖: 上圖是文字收起的圖示,超過(guò)一定的字?jǐn)?shù)那就收起省略顯示,并出現(xiàn)查看全部按鈕?! ∩蠄D顯示的就是操作了查看全部按鈕之后,文字需要全部顯示出來(lái)并有收起按鈕。還是來(lái)看一張gif圖的顯示最后該組件...
之前我們講過(guò)template轉(zhuǎn)成AST(抽象語(yǔ)法樹(shù)),現(xiàn)在我就繼續(xù)對(duì)模型樹(shù)優(yōu)化,進(jìn)行靜態(tài)標(biāo)注。這要如何實(shí)現(xiàn)? 在源碼的注釋中我們找到了下面這段話: /** * Goal of the optimizer: walk the generated template AST tree * and detect sub-trees that are purely static, i.e. part...
我們現(xiàn)在講講凍結(jié)JS對(duì)象方法技術(shù)吧,下面舉例相關(guān)代碼。我們一起來(lái)學(xué)習(xí)學(xué)習(xí)吧! 冰封的美人——凍結(jié)JS對(duì)象 現(xiàn)在我們了解下JS對(duì)象 js對(duì)象是普通對(duì)象,鍵值對(duì)方式,且其屬性不加引號(hào),表示方法如下,對(duì)象內(nèi)有對(duì)象屬性,對(duì)象方法和普通的對(duì)象概念相同 varobj={ name:"cxy", age:"18" } 要是只是修改對(duì)象的屬性,ob...
我們現(xiàn)在要講述的是當(dāng)解析器遇到一個(gè)文本節(jié)點(diǎn)時(shí)會(huì)如何為文本節(jié)點(diǎn)創(chuàng)建元素描述對(duì)象,那又該作何處理。 parseHTML(template,{ chars:function(){ //... }, //... }) chars源碼: chars:functionchars(text){ if(!currentParent){ { if(text===templ...
本篇文章主要講述JS中l(wèi)et與const命令使用,通過(guò)代碼展示給各位?! et命令 基本使用 在ES6中,let命令是新增的聲明變量,與var的差異在于let無(wú)法重復(fù)聲明,且let有效只是在其命令的代碼塊內(nèi),let禁止變量出現(xiàn)變量提升現(xiàn)象,let的特點(diǎn)就是通過(guò)暫時(shí)性死區(qū)的方式來(lái)避免程序上的錯(cuò)誤 代碼塊:使用{}包括起來(lái)的內(nèi)容 聲明變量:分配一個(gè)存儲(chǔ)空間 不可重復(fù)聲明:let聲明過(guò)后...