• vue 中子组件或者公共组件向上一级传递数据 $emit的使用


    在子组件或者公共组件中,定义一个方法例如

    <li @click="selectItem(item)" v-for="item in group.items" class="list-group-item">
    

      然后在methods中使用

    selectItem(item){
            this.$emit('select',item);
    }

    $emit中的两个参数的含义是,一个是传递给父组件的方法,一个是传递给父组件方法的参数。

    也就是说,父组件通过使用子组件通过$emit传递的方法select及其参数,来得到传递的数据。

    并且,父组件直接使用的select方法其实就是自定义方法的用法,触发这种自定义方法就是子组件触发传递$emit的方法,也就是click。

     <ListView @select='selectSinger' :data="singers"></ListView>

    此处select既是子组件通过$emit传递的自定义方法

    selectSinger则是父组件接收select所带的参数的方法

    selectSinger(singer) {
            this.$router.push({
              path:`/singer/${singer.id}`
            })
     }

    参数singer既是子组件$emit所传递的item参数。

    若是有用并觉得不错,可以赞一个哟

  • 相关阅读:
    c8051f交叉开关
    8052定时器2的用法
    poj1010
    poj2101
    poj1958
    poj3444
    poj2977
    DataTable 相关操作
    C#中string和StringBuilder的区别
    DataTable排序,检索,合并,筛选
  • 原文地址:https://www.cnblogs.com/zhoujx1066/p/7102716.html
Copyright © 2020-2023  润新知