摘要:前言本文主要總結(jié)了自己實(shí)際開(kāi)發(fā)項(xiàng)目當(dāng)中遇到的一些常見(jiàn)問(wèn)題以及解決方案組件的是當(dāng)一個(gè)組件被定義,必須聲明為返回一個(gè)初始數(shù)據(jù)對(duì)象的函數(shù),因?yàn)榻M件可能被用來(lái)創(chuàng)建多個(gè)實(shí)例。實(shí)在要比較只能比較對(duì)象的具體值了。
前言
本文主要總結(jié)了自己vue實(shí)際開(kāi)發(fā)項(xiàng)目當(dāng)中遇到的一些常見(jiàn)問(wèn)題以及解決方案
VUE組件的data是function當(dāng)一個(gè)組件被定義,data?必須聲明為返回一個(gè)初始數(shù)據(jù)對(duì)象的函數(shù),因?yàn)榻M件可能被用來(lái)創(chuàng)建多個(gè)實(shí)例。如果?data?仍然是一個(gè)純粹的對(duì)象,則所有的實(shí)例將共享引用同一個(gè)數(shù)據(jù)對(duì)象!
解釋?zhuān)喝缥覀兯?,Object是引用類(lèi)型,如果組件的data是Object就會(huì)影響到所有的實(shí)例
VUE如何傳遞參數(shù)給子組件對(duì)于父組件來(lái)說(shuō)等價(jià)于給子組件綁定了一個(gè)屬性
// parent.vue
然后子組件需要通過(guò)props接收到父組件的參數(shù)
// child.vue props:{ isShow:{ type:Boolean, default:false } }VUE子組件如何傳遞參數(shù)給父組件
對(duì)于數(shù)據(jù)繞子組件執(zhí)行一圈又回到父組件的需求是很常見(jiàn)的。
對(duì)于子組件來(lái)說(shuō),子組件處理完邏輯后通過(guò)$emit發(fā)送一個(gè)消息(事件)
// child.vue methods:{ logic(){ this.$emit("someMsg",param1,param2); } }
對(duì)于父組件來(lái)說(shuō),在子組件的"標(biāo)簽"上監(jiān)聽(tīng)這個(gè)消息(事件)
// parent.vueVUE父組件調(diào)用子組件的function
// parent.vueVUE修改數(shù)據(jù)視圖不更新問(wèn)題
新手經(jīng)常會(huì)碰到這種情況,我明明改變了這個(gè)變量,但是視圖竟然沒(méi)有更新,說(shuō)好的mvvm呢,黑人問(wèn)號(hào)?
產(chǎn)生的原因很可能就是下面這句話了
因?yàn)?Vue 無(wú)法探測(cè)普通的新增屬性 (比如?this.myObject.newProperty = "hi")
細(xì)糾一下原因就是,vue的響應(yīng)式原理是get的時(shí)候依賴(lài)收集 (添加Watcher),set的時(shí)候通知相關(guān)的Watcher進(jìn)行視圖更新,直接給對(duì)象添加一條數(shù)據(jù)自然沒(méi)有這個(gè)過(guò)程,所以自然無(wú)法更新視圖啦~
解決方案:Vue.set( target, key, value ) (別名:vm.$set(target, key, value) )
VUE watch配置注意事項(xiàng)computed的作用是監(jiān)聽(tīng)數(shù)據(jù)變化計(jì)算出屬性,watch的作用就是監(jiān)聽(tīng)數(shù)據(jù)變化執(zhí)行相應(yīng)的邏輯,but這里需要注意一下
如果你監(jiān)聽(tīng)的是一個(gè)對(duì)象,你需要這樣
然后還有,因?yàn)槭菍?duì)象,所以oldValue!==newValue行不通滴。實(shí)在要比較只能比較對(duì)象的具體值了。然后這里又容易觸發(fā)另外一個(gè)問(wèn)題,數(shù)據(jù)初始化的時(shí)候也會(huì)觸發(fā)watch,so要做好臨界判斷哦~~
vue生命周期階段詳解大致可以分為8個(gè)階段
beforeCreate:創(chuàng)建前,這個(gè)階段組件的$data和$el都為undefined
created:創(chuàng)建完成,這個(gè)階段$data已經(jīng)初始化完成
beforeMount:$el依然為undefined,虛擬dom階段
mounted:$el掛載值
beforeUpdate:組件更新前
updated:組件更新后
beforeDestroy:組件銷(xiāo)毀前
destroy:組件銷(xiāo)毀后
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/95338.html
摘要:前端每周清單年度總結(jié)與盤(pán)點(diǎn)在過(guò)去的八個(gè)月中,我?guī)缀踔蛔隽藘杉?,工作與整理前端每周清單。本文末尾我會(huì)附上清單線索來(lái)源與目前共期清單的地址,感謝每一位閱讀鼓勵(lì)過(guò)的朋友,希望你們能夠繼續(xù)支持未來(lái)的每周清單。 showImg(https://segmentfault.com/img/remote/1460000010890043); 前端每周清單年度總結(jié)與盤(pán)點(diǎn) 在過(guò)去的八個(gè)月中,我?guī)缀踔蛔隽?..
摘要:基本開(kāi)發(fā)環(huán)境創(chuàng)建的項(xiàng)目,作為代碼編寫(xiě)工具插件推薦插件配置文章目錄項(xiàng)目目錄結(jié)構(gòu)介紹框架選擇處理請(qǐng)求二次封裝項(xiàng)目目錄結(jié)構(gòu)簡(jiǎn)介業(yè)務(wù)相關(guān)靜態(tài)文件全局組件基礎(chǔ)樣式布局樣式及工具引入請(qǐng)求配置路由全局狀態(tài)管理工具文件入口文件主要配置文件頁(yè)面檢查配置測(cè)試 基本開(kāi)發(fā)環(huán)境 vue-cli3 創(chuàng)建的項(xiàng)目,vscode 作為代碼編寫(xiě)工具vscode插件推薦:vscode 插件配置 文章目錄 項(xiàng)目目錄結(jié)構(gòu)介紹...
摘要:前言月份開(kāi)始出沒(méi)社區(qū),現(xiàn)在差不多月了,按照工作的說(shuō)法,就是差不多過(guò)了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了一般來(lái)說(shuō),差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議那么今天我就把看過(guò)的一些學(xué)習(xí)資源主要是博客,博文推薦分享給大家。 1.前言 6月份開(kāi)始出沒(méi)社區(qū),現(xiàn)在差不多9月了,按照工作的說(shuō)法,就是差不多過(guò)了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了!一般來(lái)說(shuō),差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議!那么今天我就...
閱讀 2060·2021-11-15 11:39
閱讀 1401·2021-10-18 13:29
閱讀 1374·2021-08-31 09:42
閱讀 2900·2019-08-30 11:11
閱讀 2259·2019-08-26 12:12
閱讀 2251·2019-08-26 10:17
閱讀 3558·2019-08-23 18:38
閱讀 3384·2019-08-23 18:38