Vue核心

本文介绍了Vue的核心概念,包括模板语法中的v-bind和v-model的区别,以及el和data的两种常见写法。重点讲解了MVVM模式,并提到了数据代理中如何使用Object.defineProperty进行属性保护。
摘要由CSDN通过智能技术生成

Vue核心

Vue模板语法

pi96EJs.png

注:v-bind:会把引号里的内容当成表达式执行,而不是普通的字符串

<a v-bind:href="url">点我去学习编程</a>
new Vue({
    el:'#root',
    data:{
        name:'jack',
        url:'http://www.atguigu.com',
    }
})

示例:

pi96rYd.png

数据绑定

分为单项数据绑定(v-bind)和双向数据绑定(v-model,表单类元素可用)

单项数据绑定:<input type="text" v-bind:value="name"><br/>
双向数据绑定:<input type="text" v-model:value="name"><br/>
简写:
单项数据绑定:<input type="text" :value="name"><br/>
双向数据绑定:<input type="text" v-model="name"><br/>

pi9gYqK.png

el与data的两种写法

el的两种写法:
​
el:'#root'
​
v.$mount('#root')
​
注:用哪种都可
data的两种写法:
//对象式
new Vue({
    data:{
        name:'尚硅谷'
    }
})
​
//函数式,可以把“:function”删掉(删不删只是写法问题,作用一样),此时this是Vue实例,但是不能写成箭头函数,因为箭头函数没有自己的this,一般会往上找一级
new Vue({
    data:function(){
        return{
            name:'尚硅谷'
        }
    }
})
​
注:用到组件时必须用第二种,不然会报错

MVVM模型

pi9TEY6.png

pi9bw0H.png

数据代理

Object.defineproperty方法(让该对象的某个属性不能枚举,即不能遍历)

代码:

let person ={
name:'张三',
sex:'男',
age:18
}
​
console.log(Object.keys(person))

示例:

pi9qm4I.png

代码:

let person ={
name:'张三',
sex:'男'
}
​
Object.defineProperty(person,'age',{
value:18
})
​
console.log(Object.keys(person))

示例:

pi9qrb4.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值