<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
data: { firstName: 'one', lastName: 'two' }, //計算方法 computed: { allname:{ //回撥函數 當需要讀取當前屬性值是執行,根據相關資料計算並返回當前屬性的值 get() {// return this.firstName + ' ' + this.lastName }, //監視當前屬性值的變化,當屬性值發生變化時執行,更新相關的屬性資料 set(val){ const names = val.split(' '); this.firstName = names[0]; this.lastName = names[1]; } } },
watch: {
被監聽的資料: {
handler(新值, 舊值) {
相關程式碼邏輯...
}
}
}
常見應用
computed:{ stateDemo(){ return this.$store.state.demoState; } } watch:{ stateDemo(){ console.log('vuex變化啦') } }
常見錯誤
當修改父元件傳過來的值,會報錯
props:['listShop'], data(){ return{} }, created(){ this.listShop=30 }
報錯,錯誤是說的避免直接修改父元件傳入的值,因為會改變父元件的值
解決方法1,如果傳的是簡單型別,就在data中重新定義一個變數,改變指向,複雜型別不行,複雜型別存的是指標
//不會有任何報錯,也不會影響父元件! props:['listShop'], data(){ return{ listShopChild:this.listShop //改變指向 } }, created(){ this.listShopChild=30 }
但如果是複雜型別,因為存的是指標,賦值給新變數也會改變原始變數值
方法:
1.手動深度克隆
2.Object.assign,只會對只是一級屬性複製,比淺拷貝多深拷貝了一層而已,所以還是無法達到深度克隆的目的.
3.強大的JSON.stringify和JSON.parse
4.直接用computed改變
//陣列深度克隆: var x = [1,2,3]; var y = []; for (var i = 0; i < x.length; i++) { y[i]=x[i]; } console.log(y); //[1,2,3] y.push(4); console.log(y); //[1,2,3,4] console.log(x); //[1,2,3] //物件深度克隆: var x = {a:1,b:2}; var y = {}; for(var i in x){ y[i] = x[i]; } console.log(y); //Object {a: 1, b: 2} y.c = 3; console.log(y); //Object {a: 1, b: 2, c: 3} console.log(x); //Object {a: 1, b: 2} //函數深度克隆 //為什麼函數可以直接賦值克隆? //由於函數物件克隆之後的物件會單獨複製一次並儲存實際資料,因此並不會影響克隆之前的物件。所以採用簡單的複製「=」即可完成克隆。 var x = function(){console.log(1);}; var y = x; y = function(){console.log(2);}; x(); //1 y(); //2
//方法三 const obj1 = JSON.parse(JSON.stringify(obj));
//方法四 computed:{ listShopChild(){ return this.listShop } }
到此這篇關於Vue computed與watch用法區分的文章就介紹到這了,更多相關Vue computed與watch內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45