Vue——组件传值(组件通信)

<!--1.父组件给子组件传值--><!--1.把想要传递的属性写在子组件标签中--><my-atitle='我是父组件传递过来的值':msg='msg'attr-b='我是驼峰式命名属性'@my-event='handler'></my-a><!--2.在子组件内使用props进行传值的接收--><!--1.把想要传递的属性写在子组件标签中...
摘要由CSDN通过智能技术生成

父传子:父组件的值传给子组件。

要在子组件的template中使用父组件的数据,需要两个步骤

         1.在div的组件标签中声明要引用的数据,如:

<my-com :num="1" :parent-data="attr2"></my-com>

等号左边是自定义的变量名,之后要用到子组件props中,等号右边是父组件的属性名。

         2.在子组件prop中声明,如:

  props: ['num', 'attr1', 'parentData']

注意:父组件给子组件数据的时候,子组件可以定义数据类型

  静态传参:不加冒号,传字符串

  动态传参:加冒号,传number、boolean、object、数组类型的值,变量

> props: {

>   title: String,

>   likes: Number,

>   isPublished: Boolean,

>   commentIds: Array,

>   author: Object,

>   callback: Function,

>   contactsPromise: Promise // or any other constr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 2和Vue 3中,组件传值的方式有一些差异。下面我将介绍Vue 2和Vue 3中常用的几种组件传值方式: Vue 2中的组件传值方式: 1. Props:通过在父组件中使用属性绑定的方式将数据传递给子组件。父组件通过在子组件标签上绑定属性,并在子组件中通过props选项声明接收该属性。父组件可以在模板中直接使用子组件的属性。 2. 自定义事件:父组件可以通过`$emit`方法触发自定义事件,并传递数据给子组件。子组件通过`$on`方法监听父组件触发的事件,并在事件处理函数中接收数据。 3. Vuex:Vuex是Vue的状态管理库,可以在全局共享数据。父组件可以将数据存储在Vuex的状态管理中,并在子组件中通过计算属性或直接从Vuex中获取数据。 Vue 3中的组件传值方式: 1. Props:与Vue 2相同,通过在父组件中使用属性绑定的方式将数据传递给子组件。但是在Vue 3中,子组件需要使用`defineProps`来声明接收属性。 2. 自定义事件:与Vue 2相同,父组件可以通过`$emit`方法触发自定义事件,并传递数据给子组件。子组件通过`$on`方法监听父组件触发的事件,并在事件处理函数中接收数据。 3. Provide/Inject:父组件通过provide选项提供数据,然后子组件通过inject选项注入数据。这样可以在整个组件树中共享数据,而不需要显式传递。 需要注意的是,Vue 3中还引入了Composition API,通过`setup`函数来组织组件的逻辑。在`setup`函数中,可以使用`ref`和`reactive`等函数来创建响应式数据,并通过`props`参数接收父组件传递的属性。 以上是Vue 2和Vue 3中常用的组件传值方式,根据具体需求和场景选择合适的方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值