vue 子传父,父传子案例

案例一:
效果图:

未点击:
QQ截图20180922100515.png

点击后:
QQ截图20180922100607.png

body:

<div id="app">
   <my-father></my-father>
</div>

js:

<script>
    Vue.component('my-father',{
        template:
        `
            <div>
                <h1>我是父组件</h1>
                <p>子组件添加的值在这里{{mes}}</p>
                <my-child @send='sent'></my-child>
            </div>
        `,
        data:function(){
            return{
                mes:''
            }
        },
        methods:{
            sent:function(text){
                this.mes=text
            }
        }
    })
    
    Vue.component('my-child',{
        template:
        `
            <div>
                <input type='text' v-model='message'>
                <button @click='add'>添加</button>
            </div>
        `,
        data:function(){
            return{
                message:''
            }
        },
        methods:{
            add:function(){
                this.$emit('send',this.message)
            }
        }
    })
    
    new Vue({
        el:'#app'
    })
</script>

案例二:
效果图:

未点击:
QQ截图20180922101859.png

点击后:
QQ截图20180922102102.png

body:

<div id="app">
   <my-father></my-father>
</div>

js:

<script>
    Vue.component('my-father',{
        template:`
            <div>
                <p>我是父组件</p>
                <my-child v-bind:number='mes' @send='jssend'></my-child>
                <b>{{text}}</b>
            </div>
        `,
        data:function(){
            return{
                mes:'123',
                text:''
            }
        },
        methods:{
            jssend:function(txt){
                this.text=txt
            }
        }
    })
    
    Vue.component('my-child',{
        props:['number'],
        template:`
            <div>
                <p>{{number}}</p>
                <button @click='add'>点击</button>
            </div>
        `,
        data:function(){
            return{
                num:1
            }
        },
        methods:{
            add:function(){
                this.$emit('send',this.num)
            }
        }
    })
    
    new Vue({
        el:'#app'
    })
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在vue中父组件向自子组件传递props,子组件向父组件传递属性是用$emit(发布订阅) 下面是一个模态框示例,...
    JOKER_HAN阅读 4,264评论 0 0
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,018评论 3 119
  • 昨夜几乎一夜无眠,为自己一时没有控制住愤怒的情绪自责,为没有起到正面的榜样作用而郁郁寡欢,脑子里想了无数种今天早上...
    第三个耳洞阅读 241评论 1 2
  • 又是一个不眠夜,又是不欢而散的吵闹结局。相似的场景,相似的结局,不一样的过程。 还记得四年前,也是夜晚,你我抱头痛...
    王木王阅读 605评论 1 1
  • 太阳从西边升起从东边落下 落瓣腾空而起重新聚集成花 蒲公英从远方飞回出生草坪 时光与万物倒流至记忆之夏 我们从熟悉...
    _六月的狮子阅读 407评论 0 3