vue的created中如何獲取dom Vue被淘汰了嗎?
Vue被淘汰了嗎?今天,我剛開(kāi)始了解Vue cli 3.0。我開(kāi)始寫(xiě)一個(gè)演示,發(fā)現(xiàn)它是驚人的。我放棄了版本2繁瑣的網(wǎng)頁(yè)配置。現(xiàn)在可以說(shuō)它簡(jiǎn)單明了,你甚至不需要寫(xiě)它vue.config.js文件沒(méi)關(guān)系。
Vue被淘汰了嗎?
今天,我剛開(kāi)始了解Vue cli 3.0。我開(kāi)始寫(xiě)一個(gè)演示,發(fā)現(xiàn)它是驚人的。我放棄了版本2繁瑣的網(wǎng)頁(yè)配置?,F(xiàn)在可以說(shuō)它簡(jiǎn)單明了,你甚至不需要寫(xiě)它vue.config.js文件沒(méi)關(guān)系。它是免費(fèi)的。不管怎樣,它是無(wú)害的。但是如果你配置它,你會(huì)發(fā)現(xiàn)它并不麻煩。
據(jù)我所知,不應(yīng)該有任何支架可以更快、更直接地反映數(shù)組或?qū)ο蟮淖兓?/p>
另外,語(yǔ)法糖基本上沒(méi)什么變化。過(guò)去怎么用還是現(xiàn)在怎么用,但是有很多性能優(yōu)化和語(yǔ)法糖分。說(shuō)真的,我根本找不到vue-cli3.0的致命漏洞。
然后,我還看到人們?yōu)镴Q反對(duì)不公正。一年半前,我用JQ寫(xiě)作。當(dāng)時(shí),我認(rèn)為JQ是JS的最佳框架。太方便了,DOM的操作也太酷了。直到我寫(xiě)了一張課程安排項(xiàng)目卡。。。
然后我轉(zhuǎn)向一個(gè)小程序,發(fā)現(xiàn)小程序的編寫(xiě)方法是Vue。。。尤其是組件的編寫(xiě)方式。。。
畢竟,要消除Vue有點(diǎn)困難。畢竟,這個(gè)時(shí)代是數(shù)據(jù)操作的時(shí)代,而不是DOM操作的時(shí)代。
最后,我不認(rèn)為您應(yīng)該堅(jiān)持前端框架。即使將來(lái)會(huì)有更高級(jí)的框架,JS仍然是最好的。在這個(gè)框架中,我真的想不出還有什么可以玩的了。也許es會(huì)逐漸引用這些框架,然后變得如此。例如,當(dāng)您想到JS時(shí),您可以編寫(xiě)類來(lái)繼承嗎?我第一次看到它的時(shí)候,我以為它是Java。。。但現(xiàn)在我支持。。。
那為什么不關(guān)注后端呢?所有節(jié)點(diǎn)都熟練嗎?你知道迪諾嗎?PHP開(kāi)始了嗎?那蟒蛇呢?我相信這些語(yǔ)言將來(lái)會(huì)逐漸出現(xiàn)在前端知識(shí)點(diǎn)(雖然PHP已經(jīng)出現(xiàn)了,但我覺(jué)得太多了。據(jù)說(shuō)好的PHP是世界上最好的語(yǔ)言……)
使用Vue等框架的首要原因是為了開(kāi)發(fā)效率,還是減少DOM操作的性能損失?
。
前端開(kāi)發(fā)也是如此。實(shí)際上,我們都使用jQuery。它簡(jiǎn)單而粗糙,并且很容易直接操作界面。如果你想實(shí)現(xiàn)任何功能,你會(huì)成功的。但是在項(xiàng)目變得越來(lái)越復(fù)雜之后,這種開(kāi)發(fā)方式會(huì)出現(xiàn)一個(gè)問(wèn)題:代碼組織很低,項(xiàng)目的可維護(hù)性很差,特別是當(dāng)項(xiàng)目中的很多頁(yè)面都有層次關(guān)系時(shí),很容易混淆自己。
“.現(xiàn)在我們不應(yīng)該把一個(gè)網(wǎng)頁(yè)看作一個(gè)網(wǎng)頁(yè),而是一個(gè)以網(wǎng)頁(yè)的形式呈現(xiàn)的應(yīng)用程序。分離數(shù)據(jù)和行為之后,前端開(kāi)發(fā)變得更加清晰,這也是前端開(kāi)發(fā)的一個(gè)重要標(biāo)志。
雖然這些框架使用了虛擬DOM等技術(shù),但由于抽象合理,開(kāi)發(fā)效率遠(yuǎn)高于傳統(tǒng)前端,比直接操作DOM要慢。試想一下,用這兩種方法開(kāi)發(fā)的項(xiàng)目效率比傳統(tǒng)開(kāi)發(fā)低0.5%,但是傳統(tǒng)開(kāi)發(fā)需要的bug是傳統(tǒng)開(kāi)發(fā)的兩倍。如果你是,你會(huì)選哪一個(gè)?
使用Vue等框架的首要原因是為了開(kāi)發(fā)效率,還是減少DOM操作的性能損失?
今天的軟件系統(tǒng)已經(jīng)非常復(fù)雜,尤其是服務(wù)器端軟件(前端也是如此),涉及的知識(shí)和內(nèi)容非常廣泛。這樣開(kāi)發(fā)出一個(gè)健全而健壯的軟件,對(duì)程序員的要求會(huì)很高。如果采用一個(gè)成熟而健壯的框架,那么一些基本的一般性工作,如事務(wù)處理、安全性、數(shù)據(jù)流控制等,都可以交給框架進(jìn)行處理。這樣程序員只需專注于系統(tǒng)的業(yè)務(wù)邏輯設(shè)計(jì),就可以降低開(kāi)發(fā)難度。
從程序員的角度來(lái)看,使用框架最顯著的優(yōu)點(diǎn)是重用。由于框架可以重用代碼,因此從現(xiàn)有的組件庫(kù)構(gòu)建應(yīng)用程序非常容易,因?yàn)榻M件使用框架定義的統(tǒng)一接口,這使得組件之間的通信變得簡(jiǎn)單。框架可以重用設(shè)計(jì)。它提供了可重用的抽象算法和高層設(shè)計(jì),將大規(guī)模系統(tǒng)分解成更小的組件,并描述了組件之間的內(nèi)部接口。這些標(biāo)準(zhǔn)接口使得通過(guò)組裝現(xiàn)有組件來(lái)構(gòu)建各種系統(tǒng)成為可能。只要滿足接口定義,就可以將新組件插入到框架中,并且組件設(shè)計(jì)者可以重用框架的設(shè)計(jì)??蚣苓€可以重用分析。如果所有人都按照框架的思想來(lái)分析事物,他們可以把它分成相同的組件,采用相似的解決方案,這樣使用相同框架的分析人員就可以相互交流。
該框架的目的是提高工作效率,促進(jìn)大規(guī)模團(tuán)隊(duì)合作,使開(kāi)發(fā)人員更加關(guān)注業(yè)務(wù)邏輯,避免一些常見(jiàn)問(wèn)題。當(dāng)然,如果是高級(jí)前端開(kāi)發(fā),在某些場(chǎng)景中直接操作DOM代碼可能會(huì)更高效。
因此,盡管框架是件好事,但必須學(xué)習(xí)基本的DOM操作,這是一項(xiàng)必要的技能。
什么屬于操作dom,為什么vue避免了dom操作?
什么是DOM操作?要回答這個(gè)問(wèn)題,首先我們必須了解什么是DOM;DOM是document object model的縮寫(xiě);
然后,DOM操作是什么?例如,查找節(jié)點(diǎn)、添加節(jié)點(diǎn)、刪除節(jié)點(diǎn)、修改節(jié)點(diǎn)屬性、修改節(jié)點(diǎn)內(nèi)容等
至于為什么Vue避免DOM操作,其實(shí)據(jù)我了解,不是Vue避免了DOM操作,而是Vue的架構(gòu)幫助我們完成了這些操作,或者說(shuō),它通過(guò)數(shù)據(jù)更改自動(dòng)驅(qū)動(dòng)DOM更改。在我看來(lái),Vue的架構(gòu)可以幫助我們完成這些操作,一般來(lái)說(shuō),我們只需要修改數(shù)據(jù),整個(gè)DOM結(jié)構(gòu)和文檔內(nèi)容就會(huì)自動(dòng)完成,就像我們沒(méi)有執(zhí)行DOM操作一樣。其實(shí)不是這樣的,但是當(dāng)我們更改數(shù)據(jù)時(shí),Vue已經(jīng)為我們完成了DOM操作;
這就是所謂的雙向綁定,數(shù)據(jù)驅(qū)動(dòng);
例如,當(dāng)我們需要更改某個(gè)元素的數(shù)據(jù)時(shí),我們都知道“v-text=”text“是在文本值更改時(shí)直接添加到元素中的,相應(yīng)元素的含量也會(huì)發(fā)生變化。那么,它有什么作用呢?
首先,我們應(yīng)該了解“v-text”實(shí)際上是Vue中的一個(gè)指令。源代碼如下:
也就是說(shuō),將v-text綁定到元素時(shí),我們將首先確定元素的元素類型。如果nodeType為3,即如果是文本節(jié)點(diǎn),則可以通過(guò)修改其數(shù)據(jù)屬性來(lái)修改文本內(nèi)容;如果是其他節(jié)點(diǎn),則可以通過(guò)修改其數(shù)據(jù)屬性來(lái)修改文本內(nèi)容,通過(guò)修改其textcontent來(lái)修改節(jié)點(diǎn)的值;當(dāng)值發(fā)生變化時(shí),則這個(gè).el[ 此.attr]= To string(value)”修改節(jié)點(diǎn)的內(nèi)容;
所以,Vue并沒(méi)有避免DOM操作,它也執(zhí)行DOM操作,但是它包含在框架中,所以我們對(duì)它沒(méi)有明顯的感知
Vue官方網(wǎng)站說(shuō),“你暫時(shí)不需要了解這些。。?!?,我想既然你要用Vue來(lái)開(kāi)發(fā),如果你不完全理解它,你會(huì)發(fā)現(xiàn)你以后要踩坑了,它還是由它引起的。我們稍后再修補(bǔ)這個(gè)坑。最好現(xiàn)在就吃。
主要從以下幾個(gè)方面進(jìn)行:
1。Vue的生命周期是什么
2。項(xiàng)目中Vue生命周期的執(zhí)行順序
3。Vue中的內(nèi)置方法和Vue生命周期的運(yùn)行順序(方法、計(jì)算、數(shù)據(jù)、監(jiān)視)
4。自建方法的運(yùn)行順序和Vue生命周期,如圖所示
5??偨Y(jié)
1。Vue的生命周期是什么
Vue的每個(gè)組件都是獨(dú)立的,每個(gè)組件都有自己的生命周期。創(chuàng)建、初始化、裝載、更新和銷毀組件就是所謂的組件生命周期。在組件中,具體的方法有:
beforecreate
created
beforemount
mounted
(
BeforeUpdate
updated
]beforedrostroy
destroyed
對(duì)應(yīng)的中文,就像字面意思一樣,英文差的童鞋可以找翻譯軟件!謝謝您
一直搞不懂vue中的生命周期,怎么才能搞清楚?
在Vue項(xiàng)目中引入jQuery可以促進(jìn)一些全局事件綁定的實(shí)現(xiàn),并屏蔽瀏覽器之間的差異。然而,缺點(diǎn)是顯而易見(jiàn)的。由于jQuery沒(méi)有模塊化的概念,將jQuery引入Vue將增加項(xiàng)目的規(guī)模。同時(shí),Vue和jquery在DOM操作中的思想也不盡相同。Vue操作虛擬DOM,jQuery操作實(shí)際DOM,并且在數(shù)據(jù)綁定方面存在一些差異。
vue項(xiàng)目引入jquery優(yōu)缺點(diǎn)?
目前,無(wú)論是Vue、react還是angular,大多數(shù)移動(dòng)終端都首選MVVM開(kāi)發(fā)框架。由于歷史的原因,PC需要考慮瀏覽器的兼容性,很多使用jQuery。當(dāng)然,如果不考慮兼容性,MVVM也可以是新項(xiàng)目的首選開(kāi)發(fā)模式。但是jQuery歷史悠久,家族背景依然存在,生態(tài)完善,有很多優(yōu)秀的庫(kù),短期內(nèi)不會(huì)被取代,肯定會(huì)長(zhǎng)期存在并被廣泛應(yīng)用。一些場(chǎng)景,例如開(kāi)發(fā)簡(jiǎn)單的活動(dòng)頁(yè)面、提升頁(yè)面jQuery或直接DOM操作,都比較輕松。而且,這兩者不是一個(gè)或另一個(gè)。JQuery可以在MVVM中使用。兩者可以結(jié)合使用。例如,當(dāng)一些特效動(dòng)畫(huà)插件MVVM沒(méi)有好的庫(kù)時(shí),可以添加滿足jQuery生態(tài)需求的組件。一般來(lái)說(shuō),為了減少對(duì)庫(kù)的依賴,提高客戶端的加載速度,不推薦使用