vue 子组件调用父组件数据

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
        <div class="" id="myVue">
            <my-component>
            </my-component>
        </div>
        <!--子组件-->
        <template id="child"  >
            <div id="">
                <div @click='changedata'>子组件:{{data}}</div>
            </div>
        </template>
        <!--父组件-->
        <template id="father">
            <div>
                <mycomponent-child v-bind:data="str"></mycomponent-child>
            </div>
        </template>
    </body>
    <script type="text/javascript" charset="utf-8">
        /*在父组件中的数据str,
         * 将父组件的数据绑定到子组件的属性data上
         * 然后在子组件中就可以通过props接收到,
         * 这样在子组件中就可以使用变量 this.data1访问到 父组件的 str1对应的值了。
         */
        //当点击子组件,触发子组件的changedata方法,通过this.data = "父组件值被子组件修改了";改变了父级的str的值
        //通过  this.$parent.fn()访问父组件的方法fn()。
        var child={
            props:["data"],
            template:"#child",
            data:function(){
                return{
                    str:"我是子组件数据"
                }
            },
            methods:{
                changedata:function(){
                    this.data = "父组件值被子组件修改了";
                    this.$parent.fn();
                }
           }
        }
        
        /*父组件*/
        var father={
            template:"#father",
            data:function(){
                return{
                    str:"我是父组件数据"
                }
            },
            methods:{
                fn:function(){
                    alert("我是父组件方法")
                }
            },
            components:{
                "mycomponentChild":child
            }
        }
        
        vm=new Vue({
            //el:"#myVue",
            components:{
                "myComponent":father
            }
        }).$mount('#myVue');
        
    </script>
</html>

转载于:https://www.cnblogs.com/zyb-722/p/10309158.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值