摘要:所以,我考慮將前端的部分功能抽象出來使其成為通用的組件,可以在任意地方方便地被調(diào)用,并且具備可擴展性和易用性。
為什么要使用vue
因為現(xiàn)有的前端項目中JS在使用方面過于混亂,存在大量重復調(diào)用和代碼沖突(同一段代碼可能在10個不同的地方都有寫到,被觸發(fā)的時候,管理異常困難),所以我認識到之前單純依靠操作DOM的方式是有問題的,應切換到以數(shù)據(jù)為主。
所以,我考慮將前端的部分功能抽象出來使其成為通用的組件,可以在任意地方方便地被調(diào)用,并且具備可擴展性和易用性。
1.完備的中文文檔
2.容易上手
3.體積小 (只有<50kb)
4.基于組件化的開發(fā)方式
5.優(yōu)秀的代碼可讀性、可維護性
期望的實現(xiàn)方式前后端代碼分離,組件的vue模板代碼不出現(xiàn)在php模板中,僅定義一個特定標簽,加載特定的JS文件就可以實現(xiàn)組件加載,使其成為插拔式使用的組件。
通過$mount方法將vue對象掛載到某個ID的dom節(jié)點上
// hideLogin 可以是用來控制登錄彈窗的參數(shù)之一
var LoginComponent = require("loginForm.js");
var Vue = require("vue"); var loginForm = require("loginForm.vue"); var login = exports; var form; /** * 初始化登錄組件 */ login.loadLoginForm = function () { if(form){ return; } form = new Vue(loginForm); form.$mount("#loginForm"); };登錄組件 + 業(yè)務調(diào)用
Vue.set() 數(shù)據(jù)傳遞 業(yè)務回調(diào) https://segmentfault.com/a/11...
彈窗控制組件組件和父子組件,組件通信,內(nèi)部生命周期
pop.js
var Vue = require("vue"); var pop = require("pop.vue"); new Vue({ el: "#pop", render: function (h) { return h(pop) } });
pop.vue // 父組件
// 使用listenPop="closePopMsg" 來監(jiān)聽子組件close pop的行為// 使用 :showUrl="showUrl" 來給子組件傳值 子組件需要定義 // props: {showUrl:showUrl} 來接受傳值
子組件(popA.vue)設(shè)置一個methods 來給父組件傳值
methods: { closeMsg: function (type) { this.$emit("listenPop", type); } }城市選擇組件
偵聽器 watch:當需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,這個方式是最有用的
過濾器 filter
// watch方法監(jiān)控該對象,當數(shù)據(jù)發(fā)生變化的時候,觸發(fā)function watch: { list: function(val) { this.doSm(); }, history: function(val) { if(val){ this.doSm(); } } }
// 使用filter 來對接口返回的數(shù)據(jù)進行處理 constructUrl: function (list) { var vm = this; return list.filter(function (item) { if (if (vm.type == "1") {) return item["url"] = "javascript:;"; }) }相關(guān)知識點應用
安裝版本受webpack影響
因項目原因不支持babel轉(zhuǎn)換es6語法,因此只能用es5
初始化,基礎(chǔ)語法,屬性綁定,數(shù)據(jù)綁定,事件綁定
mount掛載
生命周期鉤子 (create,mount,update,destroy)
組件和父子組件,組件通信,內(nèi)部生命周期
Vue.set() 數(shù)據(jù)傳遞 業(yè)務回調(diào)
偵聽器 watch:當需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,這個方式是最有用的
過濾器 filter
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/28413.html
摘要:業(yè)務背景是,在的前端項目中加入作為組件。但隨著需要登錄的頁面的增多,多個頁面都需要添加相同的,,以及前端登錄邏輯,所以在原先的項目中添加了,將重復的添加的代碼加入到了文件中,然后通過方法將對象掛載到某個的節(jié)點上。 業(yè)務背景是,在jq的前端項目中加入Vue作為組件。 原本的登錄功能是每個頁面加一個登錄彈窗(手機號+驗證碼驗證登錄),然后發(fā)ajax請求到后端,登錄成功后再進行一些操作。 但...
摘要:就是一個用于搭建類似于網(wǎng)頁版知乎這種表單項繁多,且內(nèi)容需要根據(jù)用戶的操作進行修改的網(wǎng)頁版應用。單頁應用程序顧名思義,單頁應用一般指的就是一個頁面就是應用,當然也可以是一個子應用,比如說知乎的一個頁面就可以視為一個子應用。 最近在逛各大網(wǎng)站,論壇,以及像SegmentFault等編程問答社區(qū),發(fā)現(xiàn)Vue.js異常火爆,重復性的提問和內(nèi)容也很多,樓主自己也趁著這個大前端的熱潮,著手學習了一...
摘要:為了便于您更清晰的理解的體系架構(gòu),在這里我將為您展示年開發(fā)者知識圖譜,它包含了所有開發(fā)過程中的關(guān)鍵部分。在數(shù)據(jù)展示前端導入導出圖表面板數(shù)據(jù)綁定等場景無需大量代碼開發(fā)和測試,可極大節(jié)省企業(yè)研發(fā)成本并降低交付風險。 作為 Vue 的初學者,您或許已經(jīng)聽過很多關(guān)于它的專業(yè)術(shù)語了,例如:單頁面應用程序、異步組件、服務器端呈現(xiàn)等,您可能還聽過和Vue經(jīng)常一起被提到的工具和庫,如Vuex、Webp...
摘要:作為年最具潛力,乃至最具影響力的前端開源項目真的不為過。通過上的介紹,這個項目是偏右阿里的前端大牛和阿里的前端大牛主導,而且從中也不難看出有些部分是來自參與過的項目。 showImg(https://segmentfault.com/img/bVH8b2?w=900&h=500); 在2016年,前端的開源世界越發(fā)精彩,Vue的不斷壯大,Angular 2的發(fā)布,Amaze UI 3....
摘要:作為年最具潛力,乃至最具影響力的前端開源項目真的不為過。通過上的介紹,這個項目是偏右阿里的前端大牛和阿里的前端大牛主導,而且從中也不難看出有些部分是來自參與過的項目。 showImg(https://segmentfault.com/img/bVH8b2?w=900&h=500); 在2016年,前端的開源世界越發(fā)精彩,Vue的不斷壯大,Angular 2的發(fā)布,Amaze UI 3....
閱讀 1676·2021-11-17 09:33
閱讀 3536·2021-11-16 11:40
閱讀 3062·2019-08-30 11:23
閱讀 1053·2019-08-29 16:36
閱讀 2471·2019-08-29 13:23
閱讀 1745·2019-08-29 12:59
閱讀 1547·2019-08-29 12:42
閱讀 1984·2019-08-28 18:22