uni组件传值注意

简介:

目录介绍

  • 01.组件传值遇到坑
  • 02.父组件传值给子组件
  • 03.子组件传值给父组件

01.组件传值遇到坑

  • 子组件给父组件传值注意点

    • 注意子组件触发事件定义的方法,首先在父组件中需要绑定子组件内部对应事件,然后一定要和父控件接受的保持一致,否则无法传递数据。
    //在area.vue中,进行事件触发,传递数据
    this.$emit('onConfirm',true, selectVal)
    
    //在select-school.vue中,需要在在子组件标签上绑定子组件内部对应事件,并且方法名一致
    <!-- 地区选择器 -->
    <optional :status='show' @onUpdate='onUpdate' @onConfirm='onConfirm'></optional>
  • 遇到疑问?

    • 要是同级的组件,那么该如何传递数据呢?

02.父组件传值给子组件

  • 父组件的代码如下

    <!-- 父组件传子组件 -->
    <!-- 父组件内部写法 -->
    <template>
    <view>
    <h2>父组件</h2>
    <!-- 绑定自定义属性传递数据 -->
    <children style="color: #0000FF;" :value="valPar" ></children>
    </view>
    </template>
    
    <script>
    //引入子组件
    import children from "../../pages/ele/element-children1.vue"
    export default {
    data() {
        return {
            valPar:"父组件传递过来的值"
        }
    },
    components:{
        //注册子组件
        children
    },
    }
    </script>
  • 子组件的代码如下

    <!-- 父组件传子组件 -->
    <!-- 子组件内部写法 -->
    <template>
    <h2>子组件收到:{{value}}</h2>
    </template>
    
    <script>
    export default {
    props:{
        value:{
            type:String,
            default:"默认值"
        }
    },
    data() {
        return {
            
        }
    },
    }
    </script>

03.子组件传值给父组件

  • 父组件的代码如下

    <!-- 子组件传父组件 -->
    <!-- 父组件内部写法 -->
    <template>
    <view>
    <!-- 接收到子组件传递的数据 -->
    <h2>父组件接收到的值:{{valueChild}}</h2>
    <!-- 在子组件标签上绑定子组件内部对应事件,并触发对应回调 -->
    <children style="color: #0000FF;" @Transmit="handle"></children>
    </view>
    </template>
    
    <script>
    //引入子组件
    import children from "../../pages/ele/element-children2.vue"
    export default {
    data() {
        return {
            //定义属性接收数据
            valueChild:"",
        }
    },
    components:{
        //注册子组件
        children
    },
    methods:{
        // 子组件内部触发事件对应回调handle
        handle(val){
            this.valueChild=val;
        }
    }
    }
    </script>
  • 子组件的代码如下

    <!-- 子组件传父组件 -->
    <!-- 子组件内部写法 -->
    <template>
    <view>
    <h2>子组件</h2>
    <!-- 点击按钮进行事件触发 -->
    <button @click="handleTransmit">点击给父组件传值</button>
    </view>
    </template>
    
    <script>
    export default {
    data() {
        return {
            //要传递的数据
            valueParent: "子组件传递过来的数据"
        }
    },
    methods: {
        handleTransmit() {
            // 进行事件触发,传递数据
            this.$emit("Transmit", this.valueParent)
        }
    }
    }
    </script>
目录
相关文章
|
18天前
|
JavaScript
vue父组件向子组件传值的方法
vue父组件向子组件传值的方法
10 0
|
3月前
Uniapp Vue3 父组件给子组件传值
Uniapp Vue3 父组件给子组件传值
47 0
|
3月前
uniapp vue2父组件传值给子组件
uniapp vue2父组件传值给子组件
19 0
|
3月前
Uniapp Vue3 子组件给父组件传值
Uniapp Vue3 子组件给父组件传值
29 0
|
3月前
uniapp Vue2 子组件给父组件传值
uniapp Vue2 子组件给父组件传值
18 0
|
3月前
uni-app+vue3 封装全局函数(详细完整的方法)
uni-app+vue3 封装全局函数(详细完整的方法)
100 0
|
3月前
|
JavaScript
vue通讯 传值 3大传值方法 快速上手 父子间传值和非父子间传值
vue通讯 传值 3大传值方法 快速上手 父子间传值和非父子间传值
|
8月前
|
JavaScript
vue 组件传值
vue 组件传值
43 0
|
8月前
uni-app 事件传值 | this.$emit、uni.$emit 区分
uni-app 事件传值 | this.$emit、uni.$emit 区分
249 0
|
10月前
|
前端开发
react组件传值-class的传值方式
react组件传值-class的传值方式
49 0