zoukankan      html  css  js  c++  java
  • vue中组件间的传参

    1.父传子

      父组件准备一个数据,通过自定义属性给子组件赋值,进行传递

      在子组件中通过 props 属性来接收参数

    <body>
        <div id="app">
            <son passdata="msg"></son>
        </div>
    </body>
    <script>
        Vue.component('son', {
            template: '<div>父组件的数据为:{{ passdata }}</div>',
            props: ['passdata']
        })
        new Vue({
            el: '#app',
            data: {
                msg: '父组件数据'
            }
        })
    </script>

    2.子传父

      在子组件准备一个数据,通过 this.$emit('自定义事件', '参数'),进行传递。this.$emit 相当于要执行子组件的自定义事件,并且传入参数
      在父组件中给子组件注册好自定义事件,并且实现这个方法,就可以得到参数了。<son @自定义事件="getval">

    <body>
        <div id="app">
         //myevent是子组件中的事件 <son @myevent='getVal'></son> </div> </body> <script> Vue.component('son', {
         //①通过事件触发passval方法 template: `<div>给父组件传参<button @click="passval">传参</button></div>`, data(){ return { son: 'son数据' } }, methods: { passval(){
              //②执行子组件中的myevent事件,通过$emit进行传递(this.son为传递的数据) this.$emit('myevent', this.son) } } }) new Vue({ el: '#app', methods: {
           //③value就是传递过来的数据 getVal(value){ console.log(value) } } }) </script>

    3.并列组件传参

      创建一个公用的 bus (vue 实例)  var vm = new Vue()

      在 A 组件传入数据  vm.$emit('passval', this.name)

      在 B 组件接收数据  vm.$on('passval' ,function(value){})

    <body>
        <div id="app">
            <coma></coma>
            <comb></comb>
        </div>
    </body>
    <script>
      //①创建一个公共实例 var vm = new Vue() Vue.component('coma', {
         //通过事件触发 myclick方法去传参 template: `<div><button @click="myclick"></button></div>`, data() { return { name: 'coma' } }, methods: { myclick: function(){
              //向公共实例传入数据 vm.$emit('passval', this.name) } } }) Vue.component('comb', { template: `<div>comb</div>`, mounted() {
            //接收数据 vm.$on('passval', function(value){ console.log(value) }) } }) new Vue({ el: '#app' }) </script>

      

  • 相关阅读:
    操作系统学习之绪章
    20199311 2019-2020-2《网络攻防实践》第12周作业
    20199311 2019-2020-2《网络攻防实践》第10周作业
    20199311 2019-2020-2《网络攻防实践》第9周作业
    20199311 2019-2020-2《网络攻防实践》第8周作业
    20199311 2019-2020-2《网络攻防实践》第7周作业
    20199311 2019-2020-2《网络攻防实践》第6周作业
    20199311 2019-2020-2《网络攻防实践》第5周作业
    20199311 2019-2020-2《网络攻防实践》第4周作业
    2017-2018-2 20179215 密码与安全新技术期末总结
  • 原文地址:https://www.cnblogs.com/xhrr/p/10624834.html
Copyright © 2011-2022 走看看