zoukankan      html  css  js  c++  java
  • Vue中的组件通信

    这两天在学Vue,记录一下我认为比较重要的东西

    Vue中的组件通信:  

    我们可以分为3个步骤来:

    1.声明局部子组件,简称 "声子",

    2.挂载到dom树上面去,简称:"挂子"

    3.进行使用,简称:"用子"

    上面写的别人可能看不太明白,毕竟只是我的看法:

    <body>
        <div id="app">
    
        </div>
    </body>
    先写一个div,给它一个ID=app
    <script>
      var Vheard = {
        template: `
          <div>我是头部组件</div>
        `
      }
    
      //声子
      var App = {
        template: `
          <div>
            <Vheard />
            </div>
        `,
        components: {
          Vheard
        }
      }
      var vm = new Vue({
        el: "#app",
        data() {
          return {
    
          }
        },
        components: {
          //挂子
          App
        },
        //用子
        template: `
          <App />
        `
      });
    </script>

    父组件向子组件传递信息

    子组件向父组件传递信息

    <script>
        //孩子
        Vue.component('Child', {
            data() {
                return {
                    textProp: this.childData
                }
            },
            template: `
                <div>
                我是孩子
                <p>{{textProp}}</p>
                <input type='text' v-model='textProp'
                @input='childValue(textProp)' />
                </div>
                
            `,
            props: ['childData'],
            methods: {
                childValue(val) {
                    this.$emit('childHeard', val)
                }
            }
        })
    
    
        //父亲
        Vue.component('Parent', {
            data() {
                return {
                    msg: '加班好玩吗?'
                }
            },
            template: `
                <div>
                    我是父亲
                    <Child :childData='msg' @childHeard='childHeard' />
                </div>
            `,
            methods: {
                childHeard(val) {
                    console.log(val)
                }
            }
        })
    
        //声子
        var App = {
            template: `
                <div>
                    <Parent />
                </div>
            `
        }
    
        var vm = new Vue({
            el: '#app',
            data() {
                return {
    
                }
            },
            //用子
            components: {
                App
            },
            //挂子
            template: `
            <App />
            `
        })
    </script>
  • 相关阅读:
    opencv如何载入内存中的图像文件
    C++ 中指针与引用的区别
    2014新版12306接口分析
    Qt 多线程与数据库操作需要注意的几点问题
    设置 Linux 的 LD_LIBRARY_PATH 变量
    linux+Qt程序如何打包发布
    c++(重载、覆盖、隐藏)
    Pytorch中的强化学习
    WordNet简介
    Pytorch中的数学函数
  • 原文地址:https://www.cnblogs.com/a973692898/p/12683735.html
Copyright © 2011-2022 走看看