数据绑定
<div id="d">
单向数据绑定:<input type="text" :value="m">
双向数据绑定:<input type="text" v-model="m">
</div>
<script type="text/javascript">
new Vue({
el: '#d'
,data: {
m: '上海'
}
})
</script>
el与data的两种写法
<div id="d">
<h1>你好 {{m}}</h1>
</div>
<script type="text/javascript">
const v = new Vue({
data() {
console.log(this);
return{
m: '上海'
}
}
})
console.log(v);
setTimeout(() => {
v.$mount('#d');
}, 1000);
</script>
MVVM
M:模型,对于data中的数据
V:视图,模板
VM:视图模型,Vue实例对象
<div id="d">
<h1>hello {{m}}</h1>
<h1>测试:{{$vnode}}</h1>
<h1>测试:{{_watchers}}</h1>
<h1>测试:{{$watch}}</h1>
</div>
<script type="text/javascript">
Vue.config.productionTip = false;
const vm = new Vue({
el: '#d'
,data: {
m: '上海'
}
})
console.log(vm);
</script>
Object.defineProperty()
<script type="text/javascript">
let number = 20;
let person = {
name: 'www',
gender: '女',
}
Object.defineProperty(person, 'age', {
get(){
console.log("调用了getter,获取到的age")
return number
},
set(value) {
console.log("调用了setter,修改age为",value)
number = value;
}
})
console.log(person);
console.log(Object.keys(person));
</script>
|