• 技术文章 >web前端 >Vue.js

    vue中$on的用法是什么

    长期闲置长期闲置2022-03-17 11:20:56原创127

    在vue中,“$on”用于监听当前实例上的自定义事件,事件可以由“vm.$emit”触发,回调函数会接收所有传入事件触发函数的额外参数,语法为“vm.$on( event, callback )”。

    本文操作环境:windows10系统、Vue2.9.6版,DELL G3电脑。

    vue中$on的用法是什么

    vue中使用 $on(eventName) 监听事件

    $on(eventName) 监听当前实例上的自定义事件。事件可以由 vm.$emit 触发。回调函数会接收所有传入事件触发函数的额外参数。

    vm.$on( event, callback )

    参数:

    {string | Array} event (数组只在 2.2.0+ 中支持) {Function} callback

    实例1 本页面单个事件

    <template>
      <section>
        <h1>left</h1>
        <el-button type="primary" @click="isClick">点击</el-button>
      </section>
    </template>
    <script>
      export default {
        methods: {
          isClick() {
            this.$emit('isLeft', '点击事件!');
          }
        },
        mounted() {
          this.$on('isLeft', (val) => {
            console.log(val);
          });
        }
      }
    </script>

    以上代码,是通过按钮的点击事件,然后this.$emit传递事件,然后this.$on捕获本页面的事件

    实例2 本页面多个事件

    <template>
      <section>
        <h1>left</h1>
        <el-button type="primary" @click="isClick">点击</el-button>
        <el-button type="primary" @click="isClickOther">点击</el-button>
      </section>
    </template>
    <script>
      export default {
        methods: {
          isClick() {
            this.$emit('isLeft', '点击事件!');
          },
          isClickOther() {
            this.$emit('isRight', ['点击1', '点击2']);
          }
        },
        mounted() {
          this.$on('isLeft', (val) => {
            console.log(val);
          });
          this.$on('isRight', (...val) => {
            console.log(val);
          });
          this.$on(['isLeft', 'isRight'], () => {
            console.log(666);
          });
        }
      }
    </script>

    以上例子,是本页面的两个点击事件,可以同时监听两个事件,也可以同时传多个参数

    【相关推荐:《vue.js教程》】

    以上就是vue中$on的用法是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:vue
    上一篇:vue中v-if的用法 下一篇:vue中$emit的用法是什么
    PHP编程就业班

    相关文章推荐

    • vue3.0中的h函数是什么• vue是什么编程范式• vue怎么取消eslint• vue中v-for的用法是什么• vue中v-if的用法

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网