• vue 父子传值


    父组件 

    <my-compo c="c"></my-compo>

    动态传值

    <my-compo v-bind:c="c"></my-compo>

    子组件 props接收   调用时候 和react不同 不用this.props.c  直接使用{{c}}

    import Vue from "vue";
    
    const MyCompo = Vue.extend({
        props : ["c"],
        data : function(){
            
        },
        methods : {
            
        }
    });
    
    export default MyCompo;

    此时如果 子组件 改变 props值    

    父组件在  

    默认情况下不变!

    如果 需要改变   

    方法一:  .sync  (vue2 移除)

    <my-compo v-bind:c.sync="c"></my-compo>    

    //注意!! vue .sync 修饰符以前存在于vue1.0版本里,但是在在 2.0 中移除了 .sync 。
    //从 2.3.0 起我们重新引入了 .sync 修饰符,但是这次它只是作为一个编译时的语法糖存在。它会被扩展为一个自动更新父组件属性的 v-on 监听器。

    方法二:  传 引用类型值  (不推荐)

    import Vue from "vue";
    import MyCompo from "./components/MyCompo.js";
    
    new Vue({
        el : "#app",
        data : {
            c : 333,
            d : {
                v : 8888
            }
        },
        components : {
            "my-compo" : MyCompo
        }
    });

     方法三:   类似 react  父组件向子组件传函数  通过子组件调用运行此函数   改变父组件值   推荐)

    父组件

    <my-compo v-on:changea="changea"></my-compo>

    ******************************************************

    import Vue from "vue";

    import MyCompo from "./MyCompo.vue";

     

    new Vue({

        el : "#app",

        data : {

           a : 100

        },

        components : {

           MyCompo

        },

        methods : {

           changea : function(number){

               this.a += number;

           }

        }

    });

    子组件 

    <style>
        
    </style>
    
    <template>
        <div>
            <h1>我是子组件</h1>
            <button v-on:click="changeAemit">按我</button>
        </div>
    </template>
    
    <script>
        export default {
            methods : {
                changeAemit : function(){
                    this.$emit("changea",8);
                }
            }
        }
    </script>

    $emit
    参数:
    
    {string} eventName
    [...args]
    触发当前实例上的事件。附加参数都会传给监听器回调。
  • 相关阅读:
    EAX、ECX、EDX、EBX寄存器的作用
    MFC VS2005 添加Override 和 Message
    ActiveX添加测试工程, 出现的问题[非选择性参数][找不到成员]
    两种应该掌握的排序方法--------2.quick Sort
    关于I/O的那点事
    整理一下 编码、解码库
    VC一些经验系列: 《分享泄漏检测工具:内存、DC、GDI、Handle... 》
    golang安装卸载 linux+windows+raspberryPI 平台
    (转)如何正确使用C++多重继承
    单播、多播(也称组播)、广播
  • 原文地址:https://www.cnblogs.com/caoleyun/p/12692339.html
Copyright © 2020-2023  润新知