蘋果手機(jī)允許網(wǎng)站設(shè)置百度廣告聯(lián)盟app下載官網(wǎng)
通過數(shù)據(jù)代理,我可以方便的使用vm.屬性,修改data中的屬性
什么是數(shù)據(jù)代理
數(shù)據(jù)代理:通過一個(gè)對象代理對另一個(gè)對象中屬性的操作(讀/寫)
我們修改obj2的x屬性,其實(shí)修改的是obj的x屬性
<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>何為數(shù)據(jù)代理</title></head><body><!-- 數(shù)據(jù)代理:通過一個(gè)對象代理對另一個(gè)對象中屬性的操作(讀/寫)--><script type="text/javascript" >let obj = {x:100}let obj2 = {y:200}Object.defineProperty(obj2,'x',{get(){return obj.x},set(value){obj.x = value}})</script></body>
</html>
Vue中的數(shù)據(jù)代理
1.Vue中的數(shù)據(jù)代理:
通過vm對象來代理data對象中屬性的操作(讀/寫)
2.Vue中數(shù)據(jù)代理的好處:
更加方便的操作data中的數(shù)據(jù)
3.基本原理:
通過Object.defineProperty()把data對象中所有屬性添加到vm上。
為每一個(gè)添加到vm上的屬性,都指定一個(gè)getter/setter。
在getter/setter內(nèi)部去操作(讀/寫)data中對應(yīng)的屬性。
<!DOCTYPE html>
<html><head><meta charset="UTF-8" /><title>Vue中的數(shù)據(jù)代理</title><!-- 引入Vue --><script type="text/javascript" src="../js/vue.js"></script></head><body><!-- 1.Vue中的數(shù)據(jù)代理:通過vm對象來代理data對象中屬性的操作(讀/寫)2.Vue中數(shù)據(jù)代理的好處:更加方便的操作data中的數(shù)據(jù)3.基本原理:通過Object.defineProperty()把data對象中所有屬性添加到vm上。為每一個(gè)添加到vm上的屬性,都指定一個(gè)getter/setter。在getter/setter內(nèi)部去操作(讀/寫)data中對應(yīng)的屬性。--><!-- 準(zhǔn)備好一個(gè)容器--><div id="root"><h2>學(xué)校名稱:{{name}}</h2><h2>學(xué)校地址:{{address}}</h2></div></body><script type="text/javascript">Vue.config.productionTip = false //阻止 vue 在啟動(dòng)時(shí)生成生產(chǎn)提示。const vm = new Vue({el:'#root',data:{name:'尚硅谷',address:'宏??萍紙@'}})</script>
</html>