VUE父组件、子组件互相传值


前言

案例是三个组件之间进行传值,为了好区分,将父、子组件改名为:父组件、儿组件、孙组件,三代之间进行传值。
父组件:CreateTestPaper.vue
儿组件:editTestQue.vue
孙组件:singleAdd.vue


提示:以下是本篇文章正文内容,下面案例可供参考

一、引入组件

可参考《VUE基础知识》第六条“组件嵌套显示”,分别在父组件处引入儿组件,在儿组件处引入孙组件。
在这里插入图片描述
在这里插入图片描述
注意:在index.js中该三个组件之间并非是父子关系,父、子组件的关系是因组件被引入才形成的,被引入的是子组件,对于两个组件在index.js中的关系没有要求

二、父传子

传值顺序:CreateTestPaper.vue(父) -> editTestQue.vue(儿) -> singleAdd.vue(孙)

1. CreateTestPaper.vue(父) -> editTestQue.vue(儿)

  1. 在父组件中,引入子组件的位置上,写传值语句
    在这里插入图片描述
  2. 儿组件中,根据父组件的关键字Key,定义接收变量,接收父组件的值。之后就可以直接当作变量editTestQue调用了
    在这里插入图片描述

2. editTestQue.vue(儿) -> singleAdd.vue(孙)

与父传儿同理:

  1. 儿组件传值
    在这里插入图片描述
  2. 孙组件接收数据
    在这里插入图片描述

三、子传父

传值顺序:singleAdd.vue(孙)->editTestQue.vue(儿) -> CreateTestPaper.vue(父)

1. singleAdd.vue(孙)->editTestQue.vue(儿)

  1. 孙组件,在某个方法中写传值语句
    在这里插入图片描述
    true:用于儿组件进行判断,并非强制性,如果不需要也可以只传递一个参数即需要传递的值,只是一个参数

  2. 儿组件中,在孙组件引入的位置,根据关键字写接收语句,注意接受方法需要我们继续写
    在这里插入图片描述
    根据孙组件所发的参数个数,以及接受语句中接收方法的名称,写接收方法,在接收方法中就可以对孙组件中传递的值按照我们的意愿进行处理
    在这里插入图片描述

2. editTestQue.vue(儿) -> CreateTestPaper.vue(父)

与孙传儿一样

  1. 儿组件传值
    在这里插入图片描述
  2. 父组件接收
    在这里插入图片描述
    在这里插入图片描述

总结

无论是父传子还是子传父,关键有二:1.在子组件引入的地方做文章;2.关键字Key。

### 回答1: 要在 Vue父组件中向子组件,可以使用 props。下面是一个简单的示例: 父组件: ```html <template> <div> <child-component :message="parentMessage"></child-component> </div> </template> <script> import ChildComponent from './ChildComponent.vue'; export default { components: { ChildComponent }, data() { return { parentMessage: 'Hello from parent!' } } } </script> ``` 子组件: ```html <template> <div> <p>{{ message }}</p> </div> </template> <script> export default { props: { message: { type: String, default: '' } } } </script> ``` 在父组件中,我们可以使用 `v-bind` 或简写的冒号语法将 `parentMessage` 递给子组件的 `message` 属性。在子组件中,我们可以使用 `props` 来接收递过来的,并在模板中使用它。 ### 回答2: Vue父组件子组件可以通过props属性实现。具体步骤如下: 1.父组件中,通过props属性递需要递给子组件。例如,父组件中定义了一个数据属性"message",可以通过在子组件标签中添加:message="message"的方式将该递给子组件。 2.子组件中,通过props属性接收父组件递的。例如,子组件中定义了一个props属性"message",可以通过this.message访问到该。在子组件中就可以直接使用该。 下面是一个简单的示例代码: // 父组件 <template> <div> <h1>父组件</h1> <p>{{message}}</p> <ChildComponent :message="message" /> </div> </template> <script> import ChildComponent from './ChildComponent.vue'; export default { data() { return { message: 'Hello, Vue!' } }, components: { ChildComponent } } </script> // 子组件 <template> <div> <h2>子组件</h2> <p>{{message}}</p> </div> </template> <script> export default { props: ['message'] } </script> 在上面的示例中,父组件通过props属性将message递给子组件子组件通过props属性接收到message并在页面中显示。 这就是Vue父组件子组件的基本步骤,通过props属性可以方便地在Vue中实现子组件之间的数据递。 ### 回答3: 在Vue中,父组件子组件是通过props属性来实现的。具体步骤如下: 1.父组件中定义需要递给子组件的数据,可以是一个变量或对象。例如,父组件中定义一个变量message,为"Hello, Vue!"。 2.父组件的模板中使用子组件,并通过props属性将数据递给子组件。例如,使用<MyComponent :message="message"></MyComponent>的形式来递数据。注意,:message表示将父组件中的message变量递给子组件。 3.子组件中通过props属性接收父组件递的。例如,在子组件中定义props属性message来接收父组件递的。 4. 子组件可以通过this.message来获取父组件递的,并在自己的模板中进行使用。 下面是一个简单的示例代码: 父组件: ``` <template> <div> <h1>父组件</h1> <MyComponent :message="message"></MyComponent> </div> </template> <script> import MyComponent from './MyComponent.vue'; export default { data() { return { message: 'Hello, Vue!' }; }, components: { MyComponent } }; </script> ``` 子组件: ``` <template> <div> <h2>子组件</h2> <p>{{ message }}</p> </div> </template> <script> export default { props: ['message'] }; </script> ``` 在这个例子中,父组件中定义了一个message变量并将其递给子组件子组件通过props属性接收到message,并在自己的模板中进行使用。最终渲染结果为: 父组件: ``` <h1>父组件</h1> <MyComponent> <h2>子组件</h2> <p>Hello, Vue!</p> </MyComponent> ``` 子组件: ``` <h2>子组件</h2> <p>Hello, Vue!</p> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值