关于vue.js:工作学习总结2

一、Vue.set和this.$set的区别

受 ES5 的限度,Vue.js 不能检测到对象属性的增加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上能力让 Vue.js 转换它,能力让它是响应的。
正确写法:this.$set(this.data,”key”,value’)

var vm=new Vue({
    el:'#test',
    data:{
        //data中曾经存在info根属性
        info:{
            name:'小明';
        }
    }
});
//给info增加一个性别属性
Vue.set(vm.info,'sex','男');

Vue.set是将set绑定在vue的构造函数上,而this.$set是间接挂载在vue的原型上。

二、$on和$emit事件

$emit是触发事件 $on是监听事件

// 监听slotValueChange事件
created() {
    this.$on('slotValueChange', this.slotValueChange);
},
slotValueChange() {
    this.$emit('change', this.values, this);
},

三、$(‘body’).off().on()

// 点击事件委托,向下冒泡,匹配到button的类则触发
$('body').on('click', '.button', (e) => {})

// 防止多个事件触发,能够在点击事件之前先移除以后button的所有事件,on和off的参数须要保持一致
$('body').off('click', '.button')

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理