前言
封装组件会需要暴露一些事件,比如在翻页时触发某个事件,根据这个事件在父组件回调方法就可以在事件发生时进行相应的处理,这需要子组件暴露出事件。
另外一些时候我们需要获取子组件的某些值,来在父组件内进行操作,科学一点的请求模式是把所有子组件的请求集中在父组件请求,减少请求量,那么子组件必然要提供请求所需要的数据,这需要子传父传值。
这些,emit都可以完成。
一、暴露组件事件
这个比较简单一些,我用一个自己封装的翻页组件来说明,情况是在子组件的< li></ li>中点击了“删除”, 就要拿到文章id,发送请求进行数据库记录删除。
那么li是v-for生成的,文章i名和id是放在一起的,我们直接拿就行了:
<!--多余的已经删掉,剩下的是我们需要的逻辑 -->
<li
v-for="item in data.user_article_content"
:key="item"
>
<p>{
{ item.article_title }}</p>
<span
@click=