属性:分为自定义属性、原生属性、特殊属性;
自定义属性props:即组件props中声明的属性,子类接受父类的值;
原生属性attrs :没有声明的属性,默认自动挂载到组件根元素上,设置inheritAttrs为false可以关闭自动挂载;
特殊属性class、style:挂载到组件根元素上,支持字符串、对象、数组等多种语法;详见:https://cn.vuejs.org/v2/guide/class-and-style.html;
事件:分为普通事件和修饰符事件;
普通事件: @click,@input,@change,@xxx等事件,通过this.$emit('xxx',...)触发;
修饰符事件:@input.trim,@click.stop,@submit.prevent等,一般用于原生HTML元素,自定义组件需要自行开发支持;
阻止默认事件:@click.stop可以阻止点击事件;
补充:JS阻止冒泡和取消默认事件(默认行为);
防止冒泡和行为:w3c使用的是 e.stopPropagation(),IE则是e.cancelBubble= true;
取消默认事件:w3c使用的是 e.preventDefault(),IE则是e.returnValue = false;
插槽:分为普通插槽和作用于插槽
普通插槽: <template solt = "xxx">...</template> <template v-solt = "xxx">...</template>
作用插槽:<template solt = "xxx" slot-scope = "props">...</template> <template v-solt :xxx= "props">...</template>