- uniapp 组件传值
- 父传子
- 子传父
uniapp 组件传值
父传子
在uniapp中,组件传值主要通过props进行。以下是一个简单的例子:
首先,创建一个组件MyComponent.vue:
<template>
<view>
<text>{{ message }}</text>
</view>
</template>
<script>
export default {
props: {
message: String
}
}
</script>
然后,在父组件中使用这个组件并传值:
<template>
<view>
<my-component :message="parentMessage"></my-component>
</view>
</template>
<script>
import MyComponent from './MyComponent.vue'
export default {
components: {
MyComponent
},
data() {
return {
parentMessage: 'Hello from parent'
}
}
}
</script>
在这个例子中,MyComponent组件通过props接收了一个名为message的值,而这个值来自于父组件中的parentMessage数据属性。
在父组件的模板中,使用:message="parentMessage"来动态传递值给子组件的props。
更多详细内容,请微信搜索“前端爱好者
“, 戳我 查看 。
子传父
在 UniApp 开发中,子组件向父组件传递数据通常通过事件的方式实现。具体步骤如下:
- 在子组件中触发事件并携带需要传递的数据:
// 子组件.vue
<template>
<button @click="emitData">点击传递数据</button>
</template>
<script>
export default {
methods: {
emitData() {
this.$emit('passData', '这是子组件传递的数据');
}
}
}
</script>
- 父组件接收并处理子组件传递过来的数据:
// 父组件.vue
<template>
<child-component @passData="handleData"></child-component>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
methods: {
handleData(data) {
console.log('接收到子组件传递的数据:', data);
// 这里可以根据需要对data进行进一步的操作
}
}
}
</script>
在这个例子中,当子组件中的按钮被点击时,会触发 emitData
方法,该方法会执行 $emit('passData', '这是子组件传递的数据')
,将数据传递给父组件。父组件通过在子组件标签上监听 @passData
事件,并定义对应的处理函数 handleData
来接收并处理这些数据。