#vue# 【十三】 组件传值之父传子(超级通俗简单的思路!)

#vue# 组件传值之父传子

在开发中,为了更高效完成页面排版,
我们通常会使用父子组件来处理我们的排版,也相应地需要在父子组件里面进行赋值
下面就是父传子的步骤

在子组件页面:

(1)写入prop:[‘变量值’],然后在要赋值的那个标签里面,进行赋值,
一般为{{}}和 v-bind:变量值(就是props里面的值)="item"
(prop 是子组件用来接受父组件传递过来的数据的一个自定义属性)

示例:
子组件文档为: nickname.vue
子组件里面:

<template>
    <div class="info-item">
        <div class="nickname">
            <div class="name">
                <span>姓名</span>
            </div>
        </div>
        <div class="revise" v-show="onshow">
            <p>{{ name }}</p>
            <button @click="inputshow()">修改</button>
        </div>
        <div class="submit" v-show="offshow">
            <input type="text" :value="name">
            <el-button @click="cancel()">取消</el-button>
            <el-button type="primary">保存</el-button>
        </div>
    </div>
</template>

<script>
export default {
    name: "nickname",
    props:['name'],
    data () {
        return {
            onshow: true,
            offshow: false
        }
    },
    methods:{
        inputshow() {
            this.onshow = false;
            this.offshow = true;

        },
        cancel() {
            this.onshow = true;
            this.offshow =false;
        }

    }

}
</script>

(2)父组件里面

在里面调用子组件(双标签形式),再进行绑定子组件变量:

 <nickname v-bind:name(就是待会传到子组件的值)="headName(父组件js里面的值,再赋给name)" ></nickname>
  <div class="user-list">
                <div class="list-message"><span>个人信息</span></div>
                <div class="user-content">
                    <nickname v-bind:name="headName" ></nickname>  //这个是子组件标签
                </div>
<script>
import Cover from "./item/cover";
import Nickname from "./item/nickname";
import Phone from "./item/phone";
import WeChat from "./item/WeChat";
import Password from "./item/password";
import Mailbox from "./item/mailbox";
const axios = require('axios');
export default {
    name: "user",
    components: {Mailbox, Password, WeChat, Phone, Nickname, Cover},
    data() {
        return {
            num:'',
            photo:'',
            headName:'我是来自父组件里面的数据', //在js里面设置一个变量,待会赋给子组件的值
            number:'',
            weiXin:''
    }
}
</script>

可能有胖友感觉不是很清晰,那就举一个很通俗易懂的例子吧哈哈哈,

(3)通俗理解

父传子的关系就相当于,老爸老妈给上大学的孩子每个月转生活费这个关系一样

3-1)首先假设父母是通过支付宝进行转,那么支付宝就相当于props(一个中间的桥梁),
转账的话,就一定要有孩子的支付宝账号
所以这个props里面的值(“name”)就相当于孩子的支付宝账号
在这里插入图片描述
3-2)其次,父母给到孩子的生活费,比如是2千,
那么这个这2千就相当于,父组件里面的变量“headName”
(也可能父母下个月给的生活费会是1千,或者不给,所以它是变量不是常量哈哈哈),

然后再把这个2千(变量“headName”),
通过搜索孩子的支付宝账号(子组件里面props:‘name’)进行转账,也就是绑定了以下事件

在这里插入图片描述

3-3)最后,当孩子拿到生活费以后,
可以把生活费拿去买网课、吃饭等等,进行分配生活费,
也就是把name,放到需要用到的标签里面
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值