vue MVVM双向绑定 用户可以更改视图
表单: input select radio checkbox textarea
一.v-model的使用
1 |
|
二.自定义指令
自定义指令就是操作dom元素, 可以把操作dom元素的功能封装到一起。
- 全局指令和局部指令
- 编写一个自定义指令
自动获取焦点
1 | <body> |
添加一个背景色
现在要给输入框添加一个背景色
1 |
|
示例
v-click-outside
日历 弹层 获取焦点的时候弹出来, 点弹框和input之外的区域才消失
1 |
|
三.watch和computed
为什么总有面试问他们的区别? 先说watch 和 computed内部调用的都是new Watcher
有的时候可以实现相同的功能
computed 计算 会根据其他的值来算
watch 监控 监控某个值的变化
这两个方法都是基于 vm.$watch区别:
watch 每次值变化后 都能执行对应的回调
computed 计算属性 多次取值是有缓存效果的,如果依赖的值变化 才会重新执行
computed 内部用 defineProperty (get / set)
wacth(监控)
官方解释: 一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名,或者包含选项的对象。Vue 实例将会在实例化时调用 $watch(),遍历 watch 对象的每一个属性。
1 | <body> |
当数据变化后会执行对应的处理函数 handler
watch功能的内部实现如下: 源码 node_modules/vue/src/core/
1 | function initWatch(watch){ |
computed
计算属性最大的特点 可以缓存
1 | <body> |
computed 示例
(1)
1 | <body> |
(2) 全选、非全选
1 | <body> |