隔着超薄肉丝进入小说_男女刺激性视频大片_女教师的诱波多野结衣_一级欧美过瘾大片

當(dāng)前位置: 首頁(yè) / 技術(shù)干貨 / 正文
好程序員web前端培訓(xùn)分享小白學(xué)web常見(jiàn)的問(wèn)題

2020-07-27

web前端培訓(xùn)

  好程序員web前端培訓(xùn)分享小白學(xué)web常見(jiàn)的問(wèn)題,今天跟大家分享的是小白學(xué)web常見(jiàn)的問(wèn)題。希望本篇文章能夠?qū)π』锇閭冇兴鶐椭?/p>

好程序員

  1、Vue.js是什么?

  漸進(jìn)式框架

  自底向上增量開(kāi)發(fā)的設(shè)計(jì)

  易學(xué)習(xí)

  易整合

  Vue.js(讀音 /vju?/, 類似于 view) 是一套構(gòu)建用戶界面的 漸進(jìn)式框架。與其他重量級(jí)框架不同的是,Vue 采用自底向上增量開(kāi)發(fā)的設(shè)計(jì)。Vue 的核心庫(kù)只關(guān)注視圖層,并且非常容易學(xué)習(xí),非常容易與其它庫(kù)或已有項(xiàng)目整合。另一方面,Vue 完全有能力驅(qū)動(dòng)采用單文件組件和 Vue 生態(tài)系統(tǒng)支持的庫(kù)開(kāi)發(fā)的復(fù)雜單頁(yè)應(yīng)用。

  2、vue.js到底適合做哪種類型的界面?

  a、表單項(xiàng)繁多

  b、內(nèi)容需要根據(jù)用戶的操作進(jìn)行修改

  Vue.js就是一個(gè)用于搭建類似于網(wǎng)頁(yè)版知乎這種表單項(xiàng)繁多,且內(nèi)容需要根據(jù)用戶的操作進(jìn)行修改的網(wǎng)頁(yè)版應(yīng)用。

  3、單頁(yè)應(yīng)用程序(SPA)是什么?

  一個(gè)頁(yè)面就是應(yīng)用(子應(yīng)用)

  顧名思義,單頁(yè)應(yīng)用一般指的就是一個(gè)頁(yè)面就是應(yīng)用,當(dāng)然也可以是一個(gè)子應(yīng)用,比如說(shuō)知乎的一個(gè)頁(yè)面就可以視為一個(gè)子應(yīng)用。單頁(yè)應(yīng)用程序中一般交互處理非常多,而且頁(yè)面中的內(nèi)容需要根據(jù)用戶的操作動(dòng)態(tài)變化。

  4、 前面說(shuō)的網(wǎng)頁(yè)版知乎我也可以用JQuery寫(xiě)啊,為什么要用Vue.js呢?

  a、產(chǎn)品是絕對(duì)需要反復(fù)修改的

  b、修改可能會(huì)導(dǎo)致DOM的關(guān)聯(lián)與嵌套層次要發(fā)生改變從而使jquery結(jié)構(gòu)相關(guān)代碼變的異常復(fù)雜

  c、vue.js可以解決這個(gè)問(wèn)題

  你是否還記得你當(dāng)初寫(xiě)JQuery的時(shí)候,有寫(xiě)過(guò)('#xxx').parent().parent().parent()這種代碼呢?當(dāng)你diyi次寫(xiě)的時(shí)候,你覺(jué)得頁(yè)面元素不多,不就是找這個(gè)元素的爸爸的爸爸的爸爸嗎,我大不了在注釋里面寫(xiě)清楚這個(gè)元素的爸爸的爸爸的爸爸不就好了。但是萬(wàn)一過(guò)幾天之后你的項(xiàng)目組長(zhǎng)或者你的產(chǎn)品經(jīng)理突然對(duì)你做的網(wǎng)頁(yè)提出修改要求,這個(gè)修改要求將會(huì)影響頁(yè)面的結(jié)構(gòu),也就是DOM的關(guān)聯(lián)與嵌套層次要發(fā)生改變,那么(‘#xxx’).parent().parent().parent()可能就會(huì)變成$(‘#xxx’).parent().parent().parent().parent().parent()了。

  這還不算什么,等以后產(chǎn)品迭代越來(lái)越快,修改越來(lái)越多,而且頁(yè)面中類似的關(guān)聯(lián)和嵌套DOM元素不止一個(gè),那么修改起來(lái)將非常費(fèi)勁。而且JQuery選擇器查找頁(yè)面元素以及DOM操作本身也是有性能損失的,可能到時(shí)候打開(kāi)這個(gè)頁(yè)面,會(huì)變得越來(lái)越卡,而你卻無(wú)從下手。

  這個(gè)時(shí)候如果你學(xué)過(guò)Vue.js,那么這些抱怨將不復(fù)存在。

  5、前端里面常說(shuō)的視圖層是什么?

  我們把HTML中的DOM就可以與其他的部分獨(dú)立開(kāi)來(lái)劃分出一個(gè)層次,這個(gè)層次就叫做視圖層。

  Vue 的核心庫(kù)只關(guān)注視圖層

  6、使用jquery開(kāi)發(fā)完整頁(yè)面的流程?

  a、html寫(xiě)構(gòu)架

  b、css裝飾

  c、js交互

  講到JQuery,就不得不說(shuō)到JavaScript的DOM操作了。如果你用JQuery來(lái)開(kāi)發(fā)一個(gè)知乎,那么你就需要用JQuery中的各種DOM操作方法去操作HTML的DOM結(jié)構(gòu)了。

  現(xiàn)在我們把一個(gè)網(wǎng)頁(yè)應(yīng)用抽象一下,那么HTML中的DOM其實(shí)就是視圖,一個(gè)網(wǎng)頁(yè)就是通過(guò)DOM的組合與嵌套,形成了最基本的視圖結(jié)構(gòu),再通過(guò)CSS的修飾,在基本的視圖結(jié)構(gòu)上“化妝”讓他們看起來(lái)更加美觀。最后涉及到交互部分,就需要用到JavaScript來(lái)接受用戶的交互請(qǐng)求,并且通過(guò)事件機(jī)制來(lái)響應(yīng)用戶的交互操作,并且在事件的處理函數(shù)中進(jìn)行各種數(shù)據(jù)的修改,比如說(shuō)修改某個(gè)DOM中的innerHTML或者innerText部分。

  7、Vue.js為什么能讓基于網(wǎng)頁(yè)的前端應(yīng)用程序開(kāi)發(fā)起來(lái)這么方便?

  a、有聲明式

  b、響應(yīng)式的數(shù)據(jù)綁定

  c、組件化的開(kāi)發(fā)

  d、Virtual DOM

  因?yàn)閂ue.js有聲明式,響應(yīng)式的數(shù)據(jù)綁定,與組件化的開(kāi)發(fā),并且還使用了Virtual DOM這個(gè)看名字就覺(jué)得高大上的技術(shù)。

  8、vue.js中常說(shuō)的數(shù)據(jù)動(dòng)態(tài)綁定是什么?

  就是vue.js會(huì)自動(dòng)響應(yīng)數(shù)據(jù)的變化情況,并且根據(jù)用戶在代碼中預(yù)先寫(xiě)好的綁定關(guān)系,對(duì)所有綁定在一起的數(shù)據(jù)和視圖內(nèi)容都進(jìn)行修改。而這種綁定關(guān)系,在圖上是以input 標(biāo)簽的v-model屬性來(lái)聲明的,因此你在別的地方可能也會(huì)看到有人粗略的稱vue.js為聲明式渲染的模版引擎。

  9、前端中為什么要組件化開(kāi)發(fā)?

  a、非組件化開(kāi)發(fā)代碼和工作量都非常大

  b、修改起來(lái)生不如死

  但是現(xiàn)在我們做單頁(yè)應(yīng)用,頁(yè)面交互和結(jié)構(gòu)十分復(fù)雜,一個(gè)頁(yè)面上就有許許多多的模塊需要編寫(xiě),而且往往一個(gè)模塊的代碼量和工作量就非常龐大,如果還按照原先的方法來(lái)開(kāi)發(fā),那么會(huì)累死人。而且遇到以后的產(chǎn)品需求變更,修改起來(lái)也非常麻煩,生怕動(dòng)了其中一個(gè)div之后,其他div跟著雪崩,整個(gè)頁(yè)面全部亂套,或者由于JavaScript的事件冒泡機(jī)制,導(dǎo)致修改一些內(nèi)層的DOM事件處理函數(shù)之后,出現(xiàn)各種莫名其妙的詭異BUG。

  10、前端中如何進(jìn)行組件化開(kāi)發(fā)?

  a、借用的后端的面向?qū)ο笾械哪K化思想(把一些大功能拆分成許多函數(shù),然后分配給不同的人來(lái)開(kāi)發(fā))

  b、把一個(gè)單頁(yè)應(yīng)用中的各種模塊拆分到一個(gè)一個(gè)單獨(dú)的組件(component)中,我們只要先在父級(jí)應(yīng)用中寫(xiě)好各種組件標(biāo)簽(占坑),并且在組件標(biāo)簽中寫(xiě)好要傳入組件的參數(shù)(就像給函數(shù)傳入?yún)?shù)一樣,這個(gè)參數(shù)叫做組件的屬性),然后再分別寫(xiě)好各種組件的實(shí)現(xiàn)(填坑)

  在面向?qū)ο缶幊讨校覀兛梢允褂妹嫦驅(qū)ο蟮乃枷雽⒏鞣N模塊打包成類或者把一個(gè)大的業(yè)務(wù)模塊拆分成更多更小的幾個(gè)類。在面向過(guò)程編程中,我們也可以把一些大功能拆分成許多函數(shù),然后分配給不同的人來(lái)開(kāi)發(fā)。

  在前端應(yīng)用,我們是否也可以像編程一樣把模塊封裝呢?這就引入了組件化開(kāi)發(fā)的思想。

  Vue.js通過(guò)組件,把一個(gè)單頁(yè)應(yīng)用中的各種模塊拆分到一個(gè)一個(gè)單獨(dú)的組件(component)中,我們只要先在父級(jí)應(yīng)用中寫(xiě)好各種組件標(biāo)簽(占坑),并且在組件標(biāo)簽中寫(xiě)好要傳入組件的參數(shù)(就像給函數(shù)傳入?yún)?shù)一樣,這個(gè)參數(shù)叫做組件的屬性),然后再分別寫(xiě)好各種組件的實(shí)現(xiàn)(填坑),然后整個(gè)應(yīng)用就算做完了。

好程序員公眾號(hào)

  • · 剖析行業(yè)發(fā)展趨勢(shì)
  • · 匯聚企業(yè)項(xiàng)目源碼

好程序員開(kāi)班動(dòng)態(tài)

More+
IT培訓(xùn)IT培訓(xùn)
在線咨詢
IT培訓(xùn)IT培訓(xùn)
試聽(tīng)
IT培訓(xùn)IT培訓(xùn)
入學(xué)教程
IT培訓(xùn)IT培訓(xùn)
立即報(bào)名
IT培訓(xùn)

Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號(hào)-5 京公網(wǎng)安備 11010802035720號(hào)