1.v-model只能应用在有value值的地方,输入类元素表单类元素。
2.如果有其他参数同时又需要用到event的话需要写为@click="showMoreInfo($event,xx)"
(event中有类似挂载该事件的DOM元素的html和text以及各种数据)
3.键盘事件中vue只给九个按键起了别名,需要用到没有别名的按键时需要用到他们的原始值,这个值可以是名称也可以是他们的keyCode。在事件event.key和event.keyCode可以查看。
注意:如果像CapsLock由两个单词组成的按键,则是@keyup.caps-lock;
4.监测对象watch中:
在vm外也可以通过vm.$watch(data,{handler()})调用。
5.this.$set()或者Vue.set()第一个参数不能是vm,因为不可以向_data中直接添加数据。
正确写法:this.$set(vm.student,'sex',"男")
6.:key="index"和:key="id"的区别。
7.vue在插值语法中的undifined是不会显示的
8.Vue监视数据的原理:
1.vue会监视data中所有层次的数据,给他们进行数据代理(get和set),每个setter中都有重新解析模板;
2. 如何监测对象中的数据?
通过setter实现监视,且要在new Vue时就传入要监测的数据。
(1).对象中后追加的属性,Vue默认不做响应式处理
(2).如需给后添加的属性做响应式,请使用如下API:
Vue.set(target,propertyName/index,value) 或
vm.$set(target,propertyName/index,value)
3. 如何监测数组中的数据?
数组类似['1','2','3']则没有为数组元素服务的setter和getter,意味着直接通过arr[0/1/2..]来修改数组的数据的话vue是没办法检测到的。
通过包裹数组更新元素的方法实现,本质就是做了两件事:
(1).调用原生对应的方法对数组进行更新。
(2).重新解析模板,进而更新页面。
4.在Vue修改数组中的某个元素一定要用如下方法:
1.使用这些API:push()、pop()、shift()、unshift()、splice()、sort()、reverse()
2.Vue.set() 或 vm.$set()
特别注意:Vue.set() 和 vm.$set() 不能给vm 或 vm的根数据对象 添加属性!!!
9.要习惯性在label标签中加入for属性
10.Vue的生命周期
常用的生命周期钩子只有mounted和beforeDestroy
1.mounted:发送ajax请求、启动定时器、绑定自定义事件、订阅消息等初始化操作;
2.beforeDestroy:清除定时器、解除绑定自定义事件、取消订阅消息等收尾工作。
11.组件:
用name配置在开发者工具中的名字;
命名规则是如果有多个单词的话中间用-隔开或者是MySchool,如果是一个单词则大写第一个字母;
VueComponent.prototype.__proto__ === Vue.prototype;