摘要:論現(xiàn)在前端最熱門的開發(fā)方式,那必然是組件化開發(fā)。而在組件化開發(fā)里面最熱門的框架則是的。在模式中,的功能主要是監(jiān)聽層的事件,例如用戶點(diǎn)擊用戶提交輸入等操作,并根據(jù)層不同的事件響應(yīng)不同的操作。組件化繼續(xù)借用一張官網(wǎng)的圖片。
論現(xiàn)在前端最熱門的開發(fā)方式,那必然是組件化開發(fā)。而在組件化開發(fā)里面最熱門的框架則是 Facebook 的 React 。但是 React 的學(xué)習(xí)成本比較高,如果對(duì)于中小型的項(xiàng)目,使用 Vue 或許是不錯(cuò)的選擇。
MVVM借用一下 Vue 官網(wǎng)的圖片, ViewModel 是連接 View 與 Model 兩層的媒介。
在 MVC 模式中, Controller 的功能主要是監(jiān)聽 View 層的事件,例如用戶點(diǎn)擊、用戶提交輸入等操作,并根據(jù) View 層不同的事件響應(yīng)不同的操作。可能會(huì)從后端(Model)讀取/寫入數(shù)據(jù),也有可能不與后端進(jìn)行交互。
而后,Controller又會(huì)根據(jù)既定的業(yè)務(wù)流程,或根據(jù) Model 返回的值來(lái)對(duì) View 層進(jìn)行更新。這樣的話我們所有的邏輯基本上都集中在了Controller中。
ViewModel 將自身的數(shù)據(jù)與 View 層雙向綁定了起來(lái),當(dāng) View 有變動(dòng)的時(shí)候,會(huì)反映到 ViewModel 中,并觸發(fā)相應(yīng)的處理函數(shù),這些處理函數(shù)(不管是單純的數(shù)據(jù)處理或者從后端請(qǐng)求數(shù)據(jù)),會(huì)去更新 ViewModel 的數(shù)據(jù),而 ViewModel 的數(shù)據(jù)變動(dòng)會(huì)實(shí)時(shí)反映到 View 當(dāng)中。
所以,不管是 View 還是 Model 都讀寫的是 ViewModel 的數(shù)據(jù),View 層的邏輯交給了 View 層,而數(shù)據(jù)處理的邏輯交給了 Model 層。ViewModel 算是在兩層之間提供了一個(gè)接口。
組件化繼續(xù)借用一張 Vue 官網(wǎng)的圖片。在以前我們開發(fā)的時(shí)候,如果想復(fù)用一個(gè)部分,例如表格,我們會(huì)使用 JS 來(lái)生成HTML,并且根據(jù)給定的容器、數(shù)據(jù)、配置信息來(lái)生成 HTML 片段,插入容器當(dāng)中。之后得再引用表格相關(guān)的 CSS。
而 Vue 的組件包括模板(HTML)、邏輯(JS)、樣式(CSS)三部分。只要給這個(gè)組件相應(yīng)的數(shù)據(jù),這個(gè)組件便是一個(gè)完備的組件,各種該組件相關(guān)的事件處理,數(shù)據(jù)請(qǐng)求,UI更新都在組件中完成。
使用一個(gè) Vue 組件也非常方便,除了申明以外,直接在 HTML 中引入自定義標(biāo)簽,標(biāo)簽名為組件的名字,使用標(biāo)簽屬性來(lái)給組件傳遞數(shù)據(jù)。
使用 Webpack 以后,Vue 每一個(gè)組件可以封裝在獨(dú)立的文件中,包括、
+Webpack
在 Webpack 中,我們只需要使用 vue-loader 處理所有的 *.vue 文件即可,需要用到組件的時(shí)候,直接 require,并在components屬性里面注冊(cè)即可使用。 不要忘了在入口函數(shù)中初始化 Vue 點(diǎn)擊 _這里_ 開始學(xué)習(xí) Vue 吧!
var Vue = require("vue");
var c1 = require("xxx/c1.vue");
var c2 = require("xxx/c2.vue");
new Vue({
el: "#app",
components: {
"c1": c1,
"c2": c2
}
});
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/80416.html
摘要:就是一個(gè)用于搭建類似于網(wǎng)頁(yè)版知乎這種表單項(xiàng)繁多,且內(nèi)容需要根據(jù)用戶的操作進(jìn)行修改的網(wǎng)頁(yè)版應(yīng)用。單頁(yè)應(yīng)用程序顧名思義,單頁(yè)應(yīng)用一般指的就是一個(gè)頁(yè)面就是應(yīng)用,當(dāng)然也可以是一個(gè)子應(yīng)用,比如說(shuō)知乎的一個(gè)頁(yè)面就可以視為一個(gè)子應(yīng)用。 最近在逛各大網(wǎng)站,論壇,以及像SegmentFault等編程問答社區(qū),發(fā)現(xiàn)Vue.js異常火爆,重復(fù)性的提問和內(nèi)容也很多,樓主自己也趁著這個(gè)大前端的熱潮,著手學(xué)習(xí)了一...
摘要:中文官網(wǎng)英文官網(wǎng)組織發(fā)出一個(gè)問題之后,不要暫時(shí)的離開電腦,如果沒有把握先不要提問。珍惜每一次提問,感恩每一次反饋,每個(gè)人工作還是業(yè)余之外抽出的時(shí)間有限,充分準(zhǔn)備好應(yīng)有的資源之后再發(fā)問,有利于問題能夠高效質(zhì)量地得到解決。 Vue.js資源分享 更多資源請(qǐng)Star:https://github.com/maidishike... 文章轉(zhuǎn)自:https://github.com/maid...
摘要:前言月份開始出沒社區(qū),現(xiàn)在差不多月了,按照工作的說(shuō)法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了一般來(lái)說(shuō),差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議那么今天我就把看過的一些學(xué)習(xí)資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區(qū),現(xiàn)在差不多9月了,按照工作的說(shuō)法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了!一般來(lái)說(shuō),差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議!那么今天我就...
摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...
閱讀 3998·2021-09-09 09:33
閱讀 1905·2021-09-06 15:14
閱讀 1986·2019-08-30 15:44
閱讀 3164·2019-08-29 18:36
閱讀 3829·2019-08-29 16:22
閱讀 2150·2019-08-29 16:21
閱讀 2623·2019-08-29 15:42
閱讀 1705·2019-08-29 11:00