1.声明自定义事件
//1. js当中:
emits:['自定义事件名称']
2 使用
在methods下 (在某个事件下使用)
this.$emits('事件名称')
3:监听自定义事件
在子组件里面
<组件名 @自定义事件名称="另一个事件"><组件名/>
传参:(其实也可以讲是子向父组件传参数)
在触发自定义事件后面
下面val就接受到了参数
v-model 参数
父组件:
参数的前缀加 v-model
子组件:前面是固定格式
emits:['updata:参数变量']
Vue3
组件的注册和使用:
全局注册:
在App.vue
import 导入后 app.component('组件名称',导入文件取的名)
使用时:
局部注册:
与methods,data 同级
components 节点下使用
使用方式:和全局组件一样
更改组件标签显示的名字:
使用组件在游览器里面看见的是“取的组件名字”(需要下载vue的游览器插件在f12里面才会显示vue)
可以在组件子文件里data中起name
注册的方式:
1.通常注册 (看上面)
2.通过name属性注册组件
解决组件之间的样式冲突:
css加scoped
p348 scoped 原理