vue 脚手架搭建得项目之间得传值

父传子

父组件

    <div id="box">
        <aaa></aaa>//父组件
    </div>

    <template id="aaa">
      <div>
          <h1>11111</h1>
          <bbb :m="msg"></bbb>//子组件绑定父组件传的值
      </div>
    </template>
    <script>
        var vm=new Vue({
            el:'#box',
            data:{
                a:'aaa'
            },
            components:{
                'aaa':{
                    data(){
                        return {
                            msg:'我是父组件的数据'
                        }
                    },
                    template:'#aaa',
                    components:{
                        'bbb':{
                            props:['m'],//子组件通过props获取绑定父组件的值
                            template:'<h3>我是bbb组件->{{m}}</h3>'
                        }
                    }
                }
            }
        });
    </script>

子传父

    <div id="box">
        <aaa></aaa>
    </div>
    <template id="aaa">
      <div>
         <span>我是父级 -> {{msg}}</span>
        <bbb @child-msg="get"></bbb>//绑定get方法
      </div>
    </template>
    <template id="bbb">
      <div>
        <h3>子组件-</h3>
        <input type="button" value="send" @click="send">//子组件绑定传送方法
        </div>
    </template>
    <script>
        var vm=new Vue({
            el:'#box',
            data:{
                a:'aaa'
            },
            components:{
                'aaa':{
                    data(){
                        return {
                            msg:111,
                            msg2:'我是父组件的数据'
                        }
                    },
                    template:'#aaa',
                    methods:{
                        get(msg){
                            this.msg=msg;//将获取到的值赋给自己的属性中
                        }
                    },
                    components:{
                        'bbb':{
                            data(){
                                return {
                                    a:'我是子组件的数据'
                                }
                            },
                            template:'#bbb',
                            methods:{
                                send(){
                                    this.$emit('child-msg',this.a);//将值传出
                                }
                            }
                        }
                    }
                }
            }
        });
    </script>

*注

如果子组件是用路由引入的,可以将绑定方法写到路由中

<bbb @child-msg="get"></bbb>//绑定get方法
===>
<router-view @numNew="get" @aaa="getNoticeTheNumber" />
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容