摘要:業(yè)務(wù)背景是,在的前端項(xiàng)目中加入作為組件。但隨著需要登錄的頁(yè)面的增多,多個(gè)頁(yè)面都需要添加相同的,,以及前端登錄邏輯,所以在原先的項(xiàng)目中添加了,將重復(fù)的添加的代碼加入到了文件中,然后通過(guò)方法將對(duì)象掛載到某個(gè)的節(jié)點(diǎn)上。
業(yè)務(wù)背景是,在jq的前端項(xiàng)目中加入Vue作為組件。
原本的登錄功能是每個(gè)頁(yè)面加一個(gè)登錄彈窗(手機(jī)號(hào)+驗(yàn)證碼驗(yàn)證登錄),然后發(fā)ajax請(qǐng)求到后端,登錄成功后再進(jìn)行一些操作。
但隨著需要登錄的頁(yè)面的增多,多個(gè)頁(yè)面都需要添加相同的html,js,css以及前端登錄邏輯,所以在原先的項(xiàng)目中添加了vue,將重復(fù)的添加的代碼加入到了vue文件中,然后通過(guò)$mount方法將vue對(duì)象掛載到某個(gè)ID的dom節(jié)點(diǎn)上。這樣,就讓所有的頁(yè)面調(diào)用統(tǒng)一的登錄彈窗,執(zhí)行相同的js登錄代碼了,并且將登錄邏輯完全與頁(yè)面上的業(yè)務(wù)邏輯解耦了。
但后來(lái)需求又有了新的變化,原本loginForm 組件只是一個(gè)用來(lái)登錄的彈窗,但有一個(gè)頁(yè)面PM同學(xué)卻希望不用執(zhí)行驗(yàn)證登錄邏輯,只要輸入手機(jī)號(hào),就可以直接直接執(zhí)行后端邏輯。
好吧。。。
我找了 Vue.set 方法解決了這個(gè)問(wèn)題:
通過(guò)Vue.set方法向vue對(duì)象中的data設(shè)置一個(gè)響應(yīng)式對(duì)象,使該對(duì)象能夠在初始化階段接收控制參數(shù) Vue.set(form.$data, "setData", data);
在不同的頁(yè)面向頁(yè)面?zhèn)鬏敳煌膮?shù)來(lái)控制彈窗顯示,以及后續(xù)是否執(zhí)行ajax請(qǐng)求邏輯。
調(diào)用登錄組件的js
var callBack = function () {//加入callback方法作為回調(diào)函數(shù),將業(yè)務(wù)代碼與登錄邏輯解耦 ... } var LoginComponent = require("loginForm.js");//獲得登錄組件 var setData = { "hideLogin": true, "callBack": callBack };//自定義數(shù)據(jù) LoginComponent.loadLoginForm(setData);//初始化登錄組件
loginForm.js
var Vue = require("vue"); var loginForm=require("loginForm.vue"); //引入一個(gè)附帶模板的vue文件 var login = exports; var form; /** * 初始化登錄組件 */ login.loadLoginForm = function (data) { if(form){ return; } form = newVue(loginForm); //new一個(gè)vue對(duì)象 if (typeof(data) !== "undefined") { //通過(guò)Vue.set方法對(duì)要顯示的對(duì)象進(jìn)行控制,使該對(duì)象能夠在初始化階段接收控制參數(shù) Vue.set(form.$data, "setData", data);//向vue對(duì)象中的data設(shè)置一個(gè)響應(yīng)式對(duì)象,繞過(guò)了限制 } form.$mount("#loginForm");//將對(duì)象綁定掛載到某個(gè)id上 };
html
loginForm.vue
/** 登錄彈窗 **/...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28412.html
摘要:哪吒別人的看法都是狗屁,你是誰(shuí)只有你自己說(shuō)了才算,這是爹教我的道理。哪吒去他個(gè)鳥(niǎo)命我命由我,不由天是魔是仙,我自己決定哪吒白白搭上一條人命,你傻不傻敖丙不傻誰(shuí)和你做朋友太乙真人人是否能夠改變命運(yùn),我不曉得。我只曉得,不認(rèn)命是哪吒的命。 showImg(https://segmentfault.com/img/bVbwiGL?w=900&h=378); 出處 查看github最新的Vue...
摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快速搭建項(xiàng)目。 本文是關(guān)注微信小程序的開(kāi)發(fā)和面試問(wèn)題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開(kāi)發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快...
閱讀 3581·2021-10-08 10:04
閱讀 909·2019-08-30 15:54
閱讀 2238·2019-08-29 16:09
閱讀 1399·2019-08-29 15:41
閱讀 2326·2019-08-29 11:01
閱讀 1776·2019-08-26 13:51
閱讀 1073·2019-08-26 13:25
閱讀 1889·2019-08-26 13:24