zoukankan      html  css  js  c++  java
  • 组件传值

    1、父子(向下)传值:通过属性
        // 1、传递的属性不能出现大写。需要用-分割。大写转为小写
        // 2、从父级接收过来的数据是不允许直接修改。
        // 3、接收过来的属性名,不允许与当前组件的数据名(data属性名)相同
    <body>
    <div id="root">
        <input type="button" @click="fn" :value="n">
        <one :abc="n"></one>
    </div>
    </body>
    <script>
        new Vue({
            el:"#root",
            data:{
                n:1
            },
            components:{
                one:{
                    // 通过props可以限制接收的数据。
                    props:["abc"],
                    template:`
                        <div>one {{abc}}</div>
                    `
                }
            },
            methods:{
                fn(){
                    this.n ++;
                }
            }
        })
    </script>
    
    
    2、子父(向上)传值:通过自定义事件
        <wrap v-show="isShow" @abcdefg="changeIsShow"></wrap>
        @click="$emit('abcdefg',false)"
    3、非父子传值:通过bus.
        *发布与订阅需要在同一个实例下才能够起效果。
        $on:接收消息
        $off:取消订阅。
        $once:接收一次
        $emit:发布消息
    <div id="root">
        <input type="button" @click="fn" :value="num">
        <My></My>
    </div>
    </body>
    <script>
        // 发布者与订阅者。
        new Vue({
            el:"#root",
            data:{
                num:1
            },
            methods:{
               fn(){
                   // 发布一个名字为one的消息。
                   this.$emit("one",1,2,3,4);
               }
            },
            components:{
                My:{
                    methods:{
                        fn(){
                            this.$emit("one",2,3,4,5);
                            console.log("我是子组件My的一个函数")
                        }
                    },
                    template:`
                        <div><input type="button" @click="fn"></div>
                    `
                }
            },
            mounted(){
                // 声明订阅者,订阅了一个名字为one的消息
                this.$on("one",(a,b,c,d)=>{
                    this.$off("one");
                    console.log(1111111111,a,b,c,d);
                })
       
            }
        })
    </script>
    
    
    
     

    ref

    父组件调用子组件的数据和方法

      this.$ref.子组件的ref标识.子组件的数据或方法

    子组件调用父组件的数据或方法

      this.$parent.父组件数据或方法

  • 相关阅读:
    正则表达式
    UVALive
    Python科学计算基础篇
    IntelliJ IDEA 2017.3激活与汉化
    hive order by,sort by, distribute by, cluster by作用以及用法
    Hive调优
    Hive 索引
    hive视图
    Hive 分区 分桶使用
    linux内核优化,内核参数详解
  • 原文地址:https://www.cnblogs.com/dudududadada/p/13396220.html
Copyright © 2011-2022 走看看