您好,欢迎来到知库网。
搜索
您的当前位置:首页VUE父子模版传值,组件传值

VUE父子模版传值,组件传值

来源:知库网

第一种

<div id="example">
    <my-component></my-component>
</div>
<script src="../node_modules/vue/dist/vue.js"></script>
<script>
    //向子组件传递数据
    //省略extend方法,vue内部调用
     {
        //模板里不支持驼峰的属性写法,需要转换为‘-’连接的属性写法
        data:function(){
            return{
                parentMsg: '雨歇微凉'
            }
        },
        template: '<div>'
                +'<input v-model="parentMsg">'
                +'<br>'
                +'<child-component :my-message="parentMsg"></child-component>'
                +'</div>',
        components: {
            'child-component': {
                props: ['myMessage'],
                template: '<div>{{myMessage}}</div>'
            }
        }
    });
    // 创建根实例1
    new Vue({
        el: '#example'
    });
</script>

有什么疑惑的,也可以去查官网的文档,prop传值,这里也可以直接拷去试,如果你有什么更好的简介,还希望能够拿出来分享。

第二种

<div id="example">
    <my-component></my-component>
</div>
<script src="../node_modules/vue/dist/vue.js"></script>
<script>
    //向子组件传递数据
    //省略extend方法,vue内部调用
     {
        data:function(){
            return {
                name:'xiaoming',
                age:20
            }
        },
        //模板里不支持驼峰的属性写法,需要转换为‘-’连接的属性写法
        template: '<div >{{name}}Parent</div><child1-component v-bind:msg-name="name"></child1-component>',
        components: {
            'child1-component': {
                // 声明 props
                props: ['msgName'],
                template: '<div>A child-111111 component!{{msgName}}</div>'
            }
        }
    });
    // 创建根实例1
    new Vue({
        el: '#example'
    });
</script>

第三种

<div id="example">
    <my-component></my-component>
</div>
<script src="../node_modules/vue/dist/vue.js"></script>
<script>
    //向子组件传递数据
    //省略extend方法,vue内部调用
     {
        data:function(){
            return {
                name:'xiaoming',
                age:20
            }
        },
        //模板里不支持驼峰的属性写法,需要转换为‘-’连接的属性写法
        template: '<div >{{name}}Parent</div><child1-component some="1 + 1"></child1-component><child2-component :some="1 + 3"></child2-component>', 
       components: {
            'child1-component': {
                // 声明 props
                props: ['some'],
                template: '<div>{{some}}</div>',
                ready:function(){
                    console.log(this.some)
                }
            },
            'child2-component': {
                // 声明 props
                props: ['some'],
                template: '<div>{{some}}</div>',
                ready:function(){
                    console.log(this.some)
                }
            }
        }
    });
    // 创建根实例1
    new Vue({
        el: '#example'
    });
</script>

这个例子主要是说明带冒号和不带冒号的区别,不带冒号就是一个字符串死值,带冒号会到父模版的data中去寻找值的具体内容。

Copyright © 2019- zicool.com 版权所有 湘ICP备2023022495号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务