美文网首页
组件的通讯

组件的通讯

作者: 疯狂的蜗牛Dianna | 来源:发表于2019-09-26 22:43 被阅读0次

父子间访问子组件之间的信息(父传子)

子组件访问父组件之间的信息(子传父)

兄弟之间的传递(子传子)

父传子

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./node_modules/vue/dist/vue.js"></script>
</head>

<body>
    <div id="app">
        <child :msg="num"></child>
    </div>
    <!-- 父传子 -->
</body>
<script>
    Vue.component('child', {
        template: '<h1>我是小陈陈{{msg}}</h1>',
        props: ['msg']
    });
    var vm = new Vue({
        el: '#app',
        data: {
            num: 100
        },
        methods: {}
    });
</script>

</html>

子传父

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./node_modules/vue/dist/vue.js"></script>
</head>

<body>
    <div id="app">
        <child @fn="pfn"></child>
    </div>
</body>

<script>
    // 子组件
    Vue.component('child', {
        template: '<h1>我是一个组件</h1>',
        data() {
            return {
                cmsg: 100
            }
        },
        created() {
            this.$emit('fn', this.cmsg);
        }
    });
    // 父组件
    var vm = new Vue({
        el: '#app',
        data: {},
        methods: {
            pfn(res) {
                console.log(res);
            }
        },

    });

    // function test(callback) {
    //     const msg = '子组件的信息'
    //     callback(msg)
    // }
    // test(function (res) {
    //     console.log(res);
    // });
</script>

</html>

props接收的属性是只读,不允许你修改

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./node_modules/vue/dist/vue.js"></script>
</head>

<body>
    <div id="app">
        <child :num="msg" :List="list"></child>
    </div>
</body>
<script>
    // 子
    Vue.component('child', {
        template: '<h1>这是一个子组件{{num}}</h1>',
        props: ['num'],
        created() {
            // this.num = '修改了';
            this.list = [];
        }
    });
    // 父
    var vm = new Vue({
        el: '#app',
        data: {
            msg: 100,
            list: ['小陈陈', '小肥肥'],
        },
        methods: {}
    });
</script>

</html>

相关文章

  • vue组件通信

    1.组建通讯---父子组件通讯 父子通信通过props属性进行传值 父组件 子组件 1.组建通讯---子父组件通讯...

  • Vue——组件通讯

    组件通讯 一、组件:组件是可复用的 Vue 实例 二、创建组件: 例如: 三、组件通讯 父传子:1.创建两个组件A...

  • 7天深入Vue - vue组件之间的通讯与插槽(一)

    常用组件之间的通讯 1.props vue 基础父子组件通讯 数组形式 子组件定义props:['title', ...

  • vue组件如何通信?有几种方式?

    在vue中组件通讯可以分为父子组件通讯和非父子组件通信。父组件通过props的方式向子组件传递数据,而子组件可以通...

  • vue2-父子组件通信

    父组件到子组件通讯 父组件到子组件的通讯主要为:子组件接受使用父组件的数据,这里的数据包括属性和方法(String...

  • vue页面和component组件之间双向通讯(续1)

    VUE中父组件、子组件之间的双向通讯可以参见笔者的《vue页面和component组件之间双向通讯[https:/...

  • 同级之间传值

    一.父子组件 1.父组件到子组件通讯父组件到子组件的通讯主要为:子组件接受使用父组件的数据,这里的数据包括属性和方...

  • 组件的通讯

    父子间访问子组件之间的信息(父传子) 子组件访问父组件之间的信息(子传父) 兄弟之间的传递(子传子) 父传子 子传...

  • 组件通讯

    1.什么是组件 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封...

  • 组件通讯

    http://taobaofed.org/blog/2016/11/17/react-components-com...

网友评论

      本文标题:组件的通讯

      本文链接:https://www.haomeiwen.com/subject/tmynuctx.html