路飞-父传子数据

父传子数据

父子组件无法直接通讯,比如父组件data里面有 msg变量,子组件并不能直接引用。

解决方案:

1)父组件模板中写子组件标签
2)父组件的数据绑定给子组件标签的自定义属性
3)在子组件内部通过props拿到自定义属性
4)使用自定义属性就可以获得父组件的数据

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>父传子</title>
</head>
<body>
    <div id="app">
        <!--总结:
        1)父组件模板中写子组件标签
        2)父组件的数据绑定给子组件标签的自定义属性
        3)在子组件内部通过props拿到自定义属性
        4)使用自定义属性就可以获得父组件的数据
        -->
        <sub-tag :a="msg"></sub-tag>
    </div>
</body>
<script src="js/vue.js"></script>
<script>
    let subTag = {
        // 子组件通过props实例成员获取自身自定义属性
        props: ['a'],
        template: `
        <div>
            <h1>{{ a }}</h1>
        </div>
        `
    };

    new Vue({
        el: '#app',
        data: {
            msg: '父级数据'
        },
        components: {
            subTag,
        }
    })
</script>
</html>

猜你喜欢

转载自www.cnblogs.com/zhangmingyan/p/11459656.html