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