2020-07-27
web前端培訓
好程序員web前端培訓分享小白學web常見的問題,今天跟大家分享的是小白學web常見的問題。希望本篇文章能夠對小伙伴們有所幫助。
1、Vue.js是什么?
漸進式框架
自底向上增量開發的設計
易學習
易整合
Vue.js(讀音 /vju?/, 類似于 view) 是一套構建用戶界面的 漸進式框架。與其他重量級框架不同的是,Vue 采用自底向上增量開發的設計。Vue 的核心庫只關注視圖層,并且非常容易學習,非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅動采用單文件組件和 Vue 生態系統支持的庫開發的復雜單頁應用。
2、vue.js到底適合做哪種類型的界面?
a、表單項繁多
b、內容需要根據用戶的操作進行修改
Vue.js就是一個用于搭建類似于網頁版知乎這種表單項繁多,且內容需要根據用戶的操作進行修改的網頁版應用。
3、單頁應用程序(SPA)是什么?
一個頁面就是應用(子應用)
顧名思義,單頁應用一般指的就是一個頁面就是應用,當然也可以是一個子應用,比如說知乎的一個頁面就可以視為一個子應用。單頁應用程序中一般交互處理非常多,而且頁面中的內容需要根據用戶的操作動態變化。
4、 前面說的網頁版知乎我也可以用JQuery寫啊,為什么要用Vue.js呢?
a、產品是絕對需要反復修改的
b、修改可能會導致DOM的關聯與嵌套層次要發生改變從而使jquery結構相關代碼變的異常復雜
c、vue.js可以解決這個問題
你是否還記得你當初寫JQuery的時候,有寫過('#xxx').parent().parent().parent()這種代碼呢?當你diyi次寫的時候,你覺得頁面元素不多,不就是找這個元素的爸爸的爸爸的爸爸嗎,我大不了在注釋里面寫清楚這個元素的爸爸的爸爸的爸爸不就好了。但是萬一過幾天之后你的項目組長或者你的產品經理突然對你做的網頁提出修改要求,這個修改要求將會影響頁面的結構,也就是DOM的關聯與嵌套層次要發生改變,那么(‘#xxx’).parent().parent().parent()可能就會變成$(‘#xxx’).parent().parent().parent().parent().parent()了。
這還不算什么,等以后產品迭代越來越快,修改越來越多,而且頁面中類似的關聯和嵌套DOM元素不止一個,那么修改起來將非常費勁。而且JQuery選擇器查找頁面元素以及DOM操作本身也是有性能損失的,可能到時候打開這個頁面,會變得越來越卡,而你卻無從下手。
這個時候如果你學過Vue.js,那么這些抱怨將不復存在。
5、前端里面常說的視圖層是什么?
我們把HTML中的DOM就可以與其他的部分獨立開來劃分出一個層次,這個層次就叫做視圖層。
Vue 的核心庫只關注視圖層
6、使用jquery開發完整頁面的流程?
a、html寫構架
b、css裝飾
c、js交互
講到JQuery,就不得不說到JavaScript的DOM操作了。如果你用JQuery來開發一個知乎,那么你就需要用JQuery中的各種DOM操作方法去操作HTML的DOM結構了。
現在我們把一個網頁應用抽象一下,那么HTML中的DOM其實就是視圖,一個網頁就是通過DOM的組合與嵌套,形成了最基本的視圖結構,再通過CSS的修飾,在基本的視圖結構上“化妝”讓他們看起來更加美觀。最后涉及到交互部分,就需要用到JavaScript來接受用戶的交互請求,并且通過事件機制來響應用戶的交互操作,并且在事件的處理函數中進行各種數據的修改,比如說修改某個DOM中的innerHTML或者innerText部分。
7、Vue.js為什么能讓基于網頁的前端應用程序開發起來這么方便?
a、有聲明式
b、響應式的數據綁定
c、組件化的開發
d、Virtual DOM
因為Vue.js有聲明式,響應式的數據綁定,與組件化的開發,并且還使用了Virtual DOM這個看名字就覺得高大上的技術。
8、vue.js中常說的數據動態綁定是什么?
就是vue.js會自動響應數據的變化情況,并且根據用戶在代碼中預先寫好的綁定關系,對所有綁定在一起的數據和視圖內容都進行修改。而這種綁定關系,在圖上是以input 標簽的v-model屬性來聲明的,因此你在別的地方可能也會看到有人粗略的稱vue.js為聲明式渲染的模版引擎。
9、前端中為什么要組件化開發?
a、非組件化開發代碼和工作量都非常大
b、修改起來生不如死
但是現在我們做單頁應用,頁面交互和結構十分復雜,一個頁面上就有許許多多的模塊需要編寫,而且往往一個模塊的代碼量和工作量就非常龐大,如果還按照原先的方法來開發,那么會累死人。而且遇到以后的產品需求變更,修改起來也非常麻煩,生怕動了其中一個div之后,其他div跟著雪崩,整個頁面全部亂套,或者由于JavaScript的事件冒泡機制,導致修改一些內層的DOM事件處理函數之后,出現各種莫名其妙的詭異BUG。
10、前端中如何進行組件化開發?
a、借用的后端的面向對象中的模塊化思想(把一些大功能拆分成許多函數,然后分配給不同的人來開發)
b、把一個單頁應用中的各種模塊拆分到一個一個單獨的組件(component)中,我們只要先在父級應用中寫好各種組件標簽(占坑),并且在組件標簽中寫好要傳入組件的參數(就像給函數傳入參數一樣,這個參數叫做組件的屬性),然后再分別寫好各種組件的實現(填坑)
在面向對象編程中,我們可以使用面向對象的思想將各種模塊打包成類或者把一個大的業務模塊拆分成更多更小的幾個類。在面向過程編程中,我們也可以把一些大功能拆分成許多函數,然后分配給不同的人來開發。
在前端應用,我們是否也可以像編程一樣把模塊封裝呢?這就引入了組件化開發的思想。
Vue.js通過組件,把一個單頁應用中的各種模塊拆分到一個一個單獨的組件(component)中,我們只要先在父級應用中寫好各種組件標簽(占坑),并且在組件標簽中寫好要傳入組件的參數(就像給函數傳入參數一樣,這個參數叫做組件的屬性),然后再分別寫好各種組件的實現(填坑),然后整個應用就算做完了。
開班時間:2021-04-12(深圳)
開班盛況開班時間:2021-05-17(北京)
開班盛況開班時間:2021-03-22(杭州)
開班盛況開班時間:2021-04-26(北京)
開班盛況開班時間:2021-05-10(北京)
開班盛況開班時間:2021-02-22(北京)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2020-09-21(上海)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2019-07-22(北京)
開班盛況Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號