vue的学习

1.v-model:只能使用在表单输入类标签中,即v-model:value 简写:v-model:=“”
因为v-model值对应value
2.data:两种写法
(1)对象式
data:{}
(2)函数式:组件
data:function(){
console.log(this)//vue实例
return{}
}
3.MVVM模型-》VUE
M:模型-data中的数据
V:视图-模板(Dom)
VM:视图模型-Vue实例对象
View->Dom listeners->Model
VM和data中的属性,在模板中都可以使用
4.数据代理-object.defineProperty方法-给一个对象添加属性所使用
数据代理–通过一个对象代理另个对象中属性的操作(读和写)
defineproperty(对象名称,添加的属性名称,{
get(){
return number//当有人读取age属性时,get函数就会被调用,其返回值就是age的值
set(value){//当有人修改person的age的属性值时,set函数就会被调用,且会收到修改的具体值
number = value

}
}
}
)
5.vue中的数据代理
(1)原理:通过vm对象来代理data对象中属性的操作(读和写)
(2)vue中数据dialing的好处:更加方便的操作data中的数据
(3)基本原理:通过Object.defineproperty()把data对象中所有属性添加到vm上,为每一个添加到vm上的属性,都指定一个get()和set(),在其内部操作data对象的属性
6.Vue中的事件修饰符
(1)prevent:阻止默认事件
(2)stop:阻止事件冒泡
(事件冒泡:当一个元素接收到事件的时候,会把他接受的事件传给自己的父级,一直到window)
(3)once:事件只触发一次
7.截取函数.slice(开始index,结束index)
8.根据特殊符号截断字符串.slice(‘-’)
9.computed属性:要用的属性不存在,要通过已有属性计算得来
(1)底层主要借助Object.defineproperty方法提供的get()和set()
(2)get()执行:初次读取会执行一次/当依赖的数据发生改变时回背再次调用
优势:与methods相比,其存在缓存机制,效率更高,调式方便
(3)计算属性最终出现在vm上,直接读取使用即可/计算属性被修改,则必须写set()去响应修改

10.深度检测:‘numbers.b’:{}
(1)vue中的watch默认不检测对象内部值的改变(一层)
(2)配置deep:true可以监测对象内部值的改变(多层)
11.computed与watch对比:
(1)computed能够完成的功能,watch都可以完成
(2)watch完成的功能,computed不一定能够完成,例如:watch可以完成异步操作
提示:
(1)所有被vue管理的函数最写普通函数,纸样this的指向才是vm或者组件实例对象
(2)所有不被vue管理的函数(定时器的回调函数,ajax的回调函数,Promise的回到函数),最好写箭头函数,这样this的指向才是vm或者组件实例对象
12.{{n}}里面的n可以是来data属性,可以是计算属性,也可以是模板的中的标签属性
13.vue中的key的作用?
(1)key是虚拟Dom对象的标识,当数据发生变化时,Vue会根据【新数据】生成【新的虚拟Dom】,随后Vue进行新的虚拟Dom与旧虚拟Dom的差异对比,规则为:
旧虚拟Dom中找到与新虚拟Dom相同的key:

13.1过滤函数对象.filter(§=>{return p.name.indexOf(val)!=-1//过滤出来的条件})
13.2判断一个字符串是否包含某个字符indexOf(val)
例子:‘abc’.indexOf(‘x’) 返回-1,表示不包含
‘abc’.indexOf(‘a’) 返回0,表示包含且返回字符的索引值
14.排序函数sort()
let arr = [1,3,2,6,4,5]
升序:前减后
arr.sort((a,b)=>{
return a-b
})
15。vue检测数据变化的原理
16.给vue对象后添加属性
(1)Vue.set(target, ‘key’, ‘val’)
(2)vm. s e t ( t a r g e t , ′ k e y ′ , ′ v a l ′ ) 17. v u e 中没有为数组服务的 g e t (), s e t () 18. l e t a r r = [ ] , 向数组中添加元素到最后的位置,使用 p u s h ,删除最后一元素使用 p o p ,删除第一个使用 s h i f t , u n s h i f t 指定位置置换: s p l i c e ,反转 r e v e r s e ,排序 s o r t 19. 向 v u e 中的数组添加元素 v u e . h o b b y . p u s h ( ′ 学 习 ′ ) ; s p l i c e ( 0 , 1 ,’打台球‘) s p l i c e (起始位置,删除元素个数,替换数据) 20. v u e 监视数据的原理: 1. v u e 会监视 d a t a 中所有层次的数据 2. 如何检测对象中的数据:通过 s e t t e r 实现检测,且要在 n e w V u e 时就传入要检测的数据( 1 ) . 对象中后追加的属性做响应式, V u e 默认不做响应式处理( 2 ) . 如需给后添加的属性做响应式,请使用如下 A P I : V u e . s e t ( t a r g e t , p r o p e r t y N a m e / i n d e x , v a l u e ) v m . set(target, 'key', 'val') 17.vue中没有为数组服务的get(),set() 18.let arr=[],向数组中添加元素到最后的位置,使用push,删除最后一元素使用pop,删除第一个使用shift,unshift指定位置置换:splice,反转reverse,排序sort 19.向vue中的数组添加元素 vue.hobby.push('学习');splice(0,1,’打台球‘)splice(起始位置,删除元素个数,替换数据) 20.vue监视数据的原理: 1.vue会监视data中所有层次的数据 2.如何检测对象中的数据: 通过setter实现检测,且要在new Vue时就传入要检测的数据 (1).对象中后追加的属性做响应式,Vue默认不做响应式处理 (2).如需给后添加的属性做响应式,请使用如下API: Vue.set(target,propertyName/index,value) vm. set(target,key,val)17.vue中没有为数组服务的get(),set()18.letarr=[],向数组中添加元素到最后的位置,使用push,删除最后一元素使用pop,删除第一个使用shiftunshift指定位置置换:splice,反转reverse,排序sort19.vue中的数组添加元素vue.hobby.push()splice01打台球splice(起始位置,删除元素个数,替换数据)20.vue监视数据的原理:1.vue会监视data中所有层次的数据2.如何检测对象中的数据:通过setter实现检测,且要在newVue时就传入要检测的数据(1.对象中后追加的属性做响应式,Vue默认不做响应式处理(2.如需给后添加的属性做响应式,请使用如下APIVue.set(target,propertyName/index,value)vm.set(target,propertyName/index,value)
3.如何检测数组中的数据
通过包裹数组更新元素的方法实现,本质就是做了两件数:
(1)通过原生对应的方法对数组进行更新
(2)重新解析模板,进而更新页面
4.在Vue修改数组中的某个元素一定要用如下方法:
(1.)使用这些API:push(),pop(),shift(),unshift(),splice(),sort(),reverse()
(2.)Vue.set()或者vm. s e t ( ) 特别注意: V u e . s e t ( ) 和 v m . set() 特别注意:Vue.set()和vm. set()特别注意:Vue.set()vm.set()不能给VM或者vm的根数据对象添加属性
21.数据劫持
22.收集表单数据:
若,则v-model收集的是value值,用户输入的就是value值
若,则v-model收集的是value值,且要给标签配置value值

(1)没有配置input的value值,那么收集的就是checked(勾选or未勾选,是布尔值)
(2)配置input的value属性:
a.v-model的初始值是非数组,那么收集的就是checked(勾选或者未勾选,是布尔值)
b.v-model初始值是数组,那么收集的就是value组成的数组
备注:v-model的三个修饰符:
lazy:失去焦点再收集数据
number:输入字符串转为有效的数字
trim:输入首尾空格过滤

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值