当前位置: 首页 > news >正文

山东省建设监理协会官方网站福清福州网站建设

山东省建设监理协会官方网站,福清福州网站建设,WordPress注册验证修改注册,WordPress使用自己主题在 Vue 3 中,组件间传值有多种方式,以下是几种常见的方式 父组件向子组件传值(通过 props):以下是几个父组件向子组件传值的示例:示例 1:传递字符串示例 2:传递数字示例 3&#xff1…

在 Vue 3 中,组件间传值有多种方式,以下是几种常见的方式

    • 父组件向子组件传值(通过 props):
      • 以下是几个父组件向子组件传值的示例:
        • 示例 1:传递字符串
        • 示例 2:传递数字
        • 示例 3:传递对象
        • 示例 4:传递数组
        • 示例 5:传递布尔值
    • 子组件向父组件传值(通过自定义事件):
      • 子组件使用 v-model 向父组件传值的示例代码:
    • 通过 provide 和 inject:
    • 在父组件和子组件中使用:

父组件向子组件传值(通过 props):

<!-- 父组件 -->
<template><ChildComponent :message="parentMessage" />
</template><script setup>
import ChildComponent from './ChildComponent.vue';
const parentMessage = '这是来自父组件的值';
</script><!-- 子组件 -->
<template><div>{{ message }}</div>
</template><script setup>
defineProps(['message']);
</script>

以下是几个父组件向子组件传值的示例:

示例 1:传递字符串

父组件:

<template><ChildComponent :message="messageFromParent" />
</template><script setup>
import ChildComponent from './ChildComponent.vue';
const messageFromParent = '这是来自父组件的消息';
</script>

子组件:

<template><div>{{ message }}</div>
</template><script setup>
defineProps(['message']);
</script>
示例 2:传递数字

父组件:

<template><ChildComponent :count="5" />
</template><script setup>
import ChildComponent from './ChildComponent.vue';
</script>

子组件:

<template><div>接收到的数字: {{ count }}</div>
</template><script setup>
defineProps(['count']);
</script>
示例 3:传递对象

父组件:

<template><ChildComponent :userInfo="{ name: '张三', age: 25 }" />
</template><script setup>
import ChildComponent from './ChildComponent.vue';
</script>

子组件:

<template><div>用户信息: {{ userInfo.name }}, {{ userInfo.age }}</div>
</template><script setup>
defineProps(['userInfo']);
</script>
示例 4:传递数组

父组件:

<template><ChildComponent :fruits="['苹果', '香蕉', '橙子']" />
</template><script setup>
import ChildComponent from './ChildComponent.vue';
</script>

子组件:

<template><div>水果列表: <ul><li v-for="fruit in fruits" :key="fruit">{{ fruit }}</li></ul></div>
</template><script setup>
defineProps(['fruits']);
</script>
示例 5:传递布尔值

父组件:

<template><ChildComponent :isActive="true" />
</template><script setup>
import ChildComponent from './ChildComponent.vue';
</script>

子组件:

<template><div v-if="isActive">当前状态为活跃</div><div v-else>当前状态为不活跃</div>
</template><script setup>
defineProps(['isActive']);
</script>

子组件向父组件传值(通过自定义事件):

<!-- 父组件 -->
<template><ChildComponent @childEvent="handleChildEvent" />
</template><script setup>
import ChildComponent from './ChildComponent.vue';function handleChildEvent(valueFromChild) {console.log('从子组件接收到的值:', valueFromChild);
}
</script><!-- 子组件 -->
<template><button @click="emitEvent">向父组件传值</button>
</template><script setup>
defineEmits(['childEvent']);function emitEvent() {const valueToSend = '这是来自子组件的值';emit('childEvent', valueToSend);
}
</script>

子组件使用 v-model 向父组件传值的示例代码:

父组件:
html
复制

父组件接收到的值: {{ inputValue }}

子组件:
html
复制

<input type=“text” :value=“value” @input=“$emit(‘update:value’, $event.target.value)” />

在上述示例中,父组件通过 v-model:value=“inputValue” 将 inputValue 与子组件进行绑定。子组件中的输入框的值通过 :value=“value” 与父组件传来的值进行关联,当输入框的值发生变化时,通过 @input=“$emit(‘update:value’, $event.target.value)” 触发 update:value 事件并将新的值传递给父组件,从而实现子组件向父组件传值。

通过 provide 和 inject:

<!-- 父组件 -->
<template><ChildComponent />
</template><script setup>
import { provide } from 'vue';provide('sharedValue', '这是共享的值');
</script><!-- 子组件 -->
<template><div>{{ sharedValue }}</div>
</template><script setup>
import { inject } from 'vue';const sharedValue = inject('sharedValue');
</script>

使用 Vuex 状态管理:
首先安装 vuex :npm install vuex@next --save
创建一个 store.js 文件:

import { createStore } from 'vuex';export default createStore({state: {commonValue: '这是全局的值',},mutations: {updateCommonValue(state, newValue) {state.commonValue = newValue;}},actions: {},getters: {}
});

在父组件和子组件中使用:

<!-- 父组件或子组件 -->
<template><div>{{ $store.state.commonValue }}</div>
</template><script setup>
import { useStore } from 'vuex';const store = useStore();function updateValue() {store.commit('updateCommonValue', '新的值');
}
</script>

这些是 Vue 3 中常见的组件间传值方式,您可以根据具体的项目需求选择合适的方法。

http://www.yayakq.cn/news/626403/

相关文章:

  • 做网站花钱吗如何看出网站开发语言
  • 仙居住房和城乡建设局网站网站做等级测评
  • 搜狗竞价绑定网站要求南京酒店网站制作
  • 网站备案的链接wordpress内置函数大全
  • 网站开发教程大全网站页面数怎么做
  • 网站互动安全网站建设
  • 电商网站与企业网站区别做网站的业务员
  • 网站开发文档需求模板wordpress新增目录
  • 如何创建属于个人网站wordpress常用中文插件
  • 做旅游网站的原因自己做网站卖东西可以
  • 网站如何设计方案经营者采用过哪几种网络营销方式
  • 网站开发计划时间龙泉市做网站企业
  • 关于销售网站有哪些内容网页设计建网站流程
  • 做新网站 备案证明交接wordpress 数据库说明
  • 如何看一个大型网站的源代码北京网站改版有哪些好处
  • 专业别墅装修设计公司无锡网站建设方案优化
  • 重庆网站建设外包哪家好在哪里看片可以免费
  • 调整网站模板大小外包优化网站
  • 做网站用什么语言高效永久免费的网站地址
  • 好的做淘宝详情页的网站有哪些dw做汽车网站
  • 做营销看的网站有哪些内容企业网站要怎么做
  • 建网站去哪里备案网站建设最简单的教程
  • 泉州网站推广排名安庆市建设银行网站
  • 合肥网站建设之4个细节要注意公司备案查询网站备案
  • 前台和后台网站开发的区别微信做明天展现网站要多少钱
  • 网站群建设招标wordpress企业网站模板破解
  • 深圳专业定制建站公司手机qq怎么用wordpress
  • 网站根目录在哪儿海南网站建设哪家好
  • 屯济宁做网站公司瑞达恒建筑网站
  • 酒店官方网站的功能建设杭州公司名称大全