功能描述

事件通知可以触发当前实例上的事件。附加参数都会传给监听器回调。

本例实现功能描述

本例实现了A组件上显示B组件,在B组件触发事件后影响到A组件页面的布局与一个提示框的出现,提示将触发数据刷新。

[!TIP|label: 定义homeInfo.vue]
我们以基础框架为基础,在src/views/basic/sys文件夹下新建一个homeInfo.vue文件并将其配置到菜单
配置菜单的具体方法见vue方式开发指南-部署与启动里面的菜单路由配置

  1. <template>
  2. <div>
  3. <h1>主页详情</h1>
  4. <button type="text" @click="addData()">数据表单</button>
  5. <homeInfoAlert v-if="visible" ref="homeDataAdd" @refresh="alertMsg()"></homeInfoAlert>
  6. </div>
  7. </template>
  8. <script>
  9. import homeInfoAlert from './homeInfoAlert'
  10. export default {
  11. name: 'HomeVueInfo',
  12. data() {
  13. return {
  14. visible: false
  15. }
  16. },
  17. components: {
  18. homeInfoAlert
  19. },
  20. methods: {
  21. addData() {
  22. this.visible = true
  23. },
  24. alertMsg() {
  25. this.visible =false
  26. alert("刷新数据")
  27. }
  28. }
  29. }
  30. </script>

[!TIP|label: 定义homeInfoAlert.vue]
再在src/views/basic/sys文件夹下新建一个homeInfoAlert.vue文件

  1. <template>
  2. <div>
  3. <h1>数据表单界面</h1>
  4. <p>数据-----数据</p>
  5. <button @click="submit()"> 数据提交</button>
  6. </div>
  7. </template>
  8. <script>
  9. export default {
  10. name: "homeInfoAlert",
  11. methods: {
  12. submit() {
  13. this.$emit('refresh')
  14. }
  15. }
  16. }
  17. </script>
  18. <style scoped>
  19. </style>