vue 子传父父传子

 需求:List属性值传Detail中,我是先传index中再传Detail,其中index是List和Detail父(兄弟之间也能传输)

子传父(List传index

List文件方法中定义

this.$emit('operateval', operate)

this.$emit("function",param);   

其中function为父组件定义函数,param为需要传递参数

index文件中接受

在父组件中子组件引用处添加函数

v-on:function="function1";

其中function为子组件中定义函数,function1为父组件定义函数--用于接收子组件传值并进行相应数据处理,可定义为同一名称

v-on: 可用 @ 代替 @function="function1" ,@ 为 v-on:的简写
 

<list  @operateval="operateval" />
    methods: {
        operateval(val) {
            this.operate = val
        }

完成子传父

接下来父传子(index传Detail)

父(index)文件

<detail :operate="operate" />

子(Detail)

    props: {
        operate: {
            type: String,
            default: ''
        }
    }

### Vue.js 中子组件向组件递数据的方法 在 Vue.js 的开发过程中,子组件之间的通信是非常常见的需求之一。对于 **子组件向组件递数据** 的场景,主要依赖于 `$emit` 方法来触发自定义事件,并由组件监听这些事件从而获取所需的数据。 以下是具体的实现方式: #### HTML 结构与绑定事件 组件可以通过 `v-on` 或者其缩写形式 `@` 来监听来自子组件的自定义事件。当子组件调用 `$emit` 发送数据时,组件会接收到该数据并执行相应的回调函数。 ```html <div id="app"> <!-- 组件监听子组件发出的 custom-event --> <child-component @custom-event="handleCustomEvent"></child-component> </div> ``` #### 子组件发送数据 子组件内部通过 `this.$emit(eventName, payload)` 向外发射一个带有名称的事件以及可选的有效载荷(payload)。有效载荷可以是一个简单的字符串、数值或者复杂的数据结构如对象或数组。 ```javascript Vue.component('child-component', { template: '<button @click="sendDataToParent">点击我</button>', methods: { sendDataToParent() { const dataObject = { message: '你好,我是子组件发来的消息!' }; this.$emit('custom-event', dataObject); // 触发名为 custom-event 的事件并将数据作为参数出 [^1] } } }); ``` #### 组件处理逻辑 组件需要定义一个方法用于响应子组件触发的事件,在此方法中可以对接收的数据做进一步操作比如打印到控制台或是更新界面状态等。 ```javascript new Vue({ el: '#app', methods: { handleCustomEvent(receivedData) { console.log(receivedData.message); // 输出子组件过来的消息 [^1] } } }); ``` 以上即完成了整个从子组件发起至最终被组件捕获的过程演示。 ### 示例总结 - 使用 `this.$emit()` 函数让子组件能够通知它的上级关于某些特定动作的发生情况同时附带必要的信息。 - 级则需事先设定好对应的动作处理器以便及时作出反应。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值