偽dom是什么意思啊?
"偽DOM自定義事件amp是一個(gè)自定義術(shù)語(yǔ),用于區(qū)分DOM自定義事件。比如jQuery庫(kù),它是基于wrapper(一個(gè)包含DOM元素的中間層)來(lái)擴(kuò)展事件的,與DOM相關(guān)而非直接與DOM相關(guān),所以被稱為"偽DOM自定義事件amp。
虛擬DOM虛擬DOM,用普通的js對(duì)象來(lái)描述DOM結(jié)構(gòu),之所以叫虛擬DOM,是因?yàn)樗皇钦嬲腄OM。
虛擬dom是相對(duì)于瀏覽器呈現(xiàn)的真實(shí)dom而言的。在react、vu
js模塊化中如何操作頁(yè)面dom?
題主所說(shuō)的Js模塊化應(yīng)該是node上的一個(gè)模塊。
首先,模塊化不是node的專利。當(dāng)人們想在瀏覽器中時(shí),就開始通過(guò)名稱空間等手段在瀏覽器中實(shí)現(xiàn)模塊化。模塊化的意義在于代碼前端的重用。有人用v8引擎開發(fā)了node。然后前端開發(fā)模式發(fā)生了翻天覆地的變化,前端開發(fā)開始被下傳。前端人員通過(guò)節(jié)點(diǎn)的編譯解決了接口模仿,以更工程化、結(jié)構(gòu)化的開發(fā)代碼。
讓讓我們來(lái)談?wù)劜僮鱠om。js是一套語(yǔ)法規(guī)范,dom屬于瀏覽器平臺(tái)的特性。所以在開發(fā)node的時(shí)候,我們一方面模擬瀏覽器特性,比如jest-dom等這些庫(kù)在一些測(cè)試中經(jīng)常用到,然后如果真的要在瀏覽器中使用,我們會(huì)借助一個(gè)編譯器,比如babel,把我們的代碼編譯成瀏覽器平臺(tái)的可用配額。這樣,我們可以使用瀏覽器中沒(méi)有實(shí)現(xiàn)的語(yǔ)法。并且兼容較低版本的瀏覽器。
目前有些框架,借助虛擬dom船,其實(shí)并不建議直接操作dom,而是會(huì)提供虛擬節(jié)點(diǎn)的react引用,或者dom,比如一個(gè)linkhelper,可以通過(guò)ref提供帶有A標(biāo)簽的dom實(shí)例,幫助其他用戶更靈活的擴(kuò)展。
所以在模塊化中操作dom和在瀏覽器中操作dom是一樣的。模塊化提供了一種代碼復(fù)用的,是一種提高開發(fā)效率的工程化開發(fā)。所以它贏了。;對(duì)你操作dom的api沒(méi)有太大影響[呲牙]