当前位置: 首页 > Web前端 > vue.js

工作+学习总结(二)

时间:2023-03-31 15:23:00 vue.js

1.Vue.set和this.$set的区别受限于ES5。Vue.js无法检测对象属性的添加或删除。因为Vue.js在初始化实例时会将属性转换为getters/setters,所以属性必须在数据对象上,以便Vue.js对其进行转换,使其具有响应性。正确的写法:this.$set(this.data,"key",value')varvm=newVue({el:'#test',data:{//info根属性已经存在datainfo:{name:'Xiaoming';}}});//给info添加一个性别属性Vue.set(vm.info,'sex','male');Vue.set将set绑定到Vue的构造函数上,this.$set直接挂载在vue的原型上。2.$on和$emit事件$emit是触发事件$on是监听事件//监听slotValueChange事件created(){this.$on('slotValueChange',this.slotValueChange);},slotValueChange(){this.$emit('change',this.values,this);},3.$('body').off().on()//点击事件委托,向下冒泡,匹配到的类button会触发$('body').on('click','.button',(e)=>{})//为了避免多次事件触发,可以在click事件之前去掉当前button的所有事件,on和off参数需要保持一致$('body').off('click','.button')