uniapp-- props与emit 父子组件传值
在uniapp中,父子组件之间的通信可以通过props传值和使用$emit来实现。
props
父组件通过props向子组件传递数据。子组件需要在其模板中使用这些props。
父组件:
<template>
<child-component :parent-msg="message"></child-component>
</template>
<script>
import ChildComponent from '@/components/ChildComponent.vue';
export default {
components: {
ChildComponent
},
data() {
return {
message: 'Hello from parent'
};
}
};
</script>
子组件:
<template>
<view>{{ parentMsg }}</view>
</template>
<script>
export default {
props: {
parentMsg: String
}
};
</script>
$emit
子组件可以使用$emit来发出一个事件,父组件可以监听这个事件并响应。
子组件:
<template>
<button @click="sendToParent">Send to Parent</button>
</template>
<script>
export default {
methods: {
sendToParent() {
this.$emit('childEvent', 'Hello from child');
}
}
};
</script>
父组件:
<template>
<child-component @childEvent="receiveFromChild"></child-component>
</template>
<script>
import ChildComponent from '@/components/ChildComponent.vue';
export default {
components: {
ChildComponent
},
methods: {
receiveFromChild(msg) {
console.log(msg); // 输出:Hello from child
}
}
};
</script>
以上代码展示了如何在uniapp的父子组件之间进行数据的传递和事件的触发。
评论已关闭