• Vue基础学习 --- 组件传值


    父组件->子组件

    <!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">
            <!-- 01. 在son标签中, 添加一个属性 注意:使用msg属性传值时,f2s前加:-->
            <son :f2s='msg'></son>
        </div>
    
        <script>
            const vm = new Vue({
                el: '#app',
                data() {
                    return {
                        msg: 'hello world'
                    }
                },
                methods: {},
                components: {
                    // 组件名:组件参数
                    son: {
                        // 03组件中接收到的值的使用
                        template: '<h2>{{f2s}}</h2>',
                        // 02props属性接收
                        props: ['f2s']
                    }
                }
            });
        </script>
    </body>
    
    </html>

    小结

    1. 在son标签中添加属性f2s(属性名可以随意起)、要传的值

    2. 在子组件中使用props接收, 然后template中使用


    子组件->父组件

    <!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">
            <!-- 02. 引用组件 
                funfromson为子组件中$emit的第一个参数 
                fathermethod为父组件中用于接收参数的方法-->
            <son @funfromson="fathermethod"></son>
        </div>
    
        <script>
    
            const vm = new Vue({
                el: '#app',
                data() {
                    return {
    
                    }
                },
                methods: {
                    // 03-父组件中接收子组件传参的方法,参数就是传的值
                    fathermethod(data) {
                        alert('收到子组件的数据' + data)
                    }
                },
                components: {
                    son: {
                        template: '<button @click="send2f">点击了子组件</button>',
                        methods: {
                            send2f() {
                                // 01-子组件->父组件通过this.$emit('父组件中引用子组件中的方法名','要传的参数')
                                this.$emit('funfromson', 'xxxx');
                            },
                        },
                    }
                }
            });
        </script>
    </body>
    
    </html>

    小结

    示例中子组件是一个按钮, 当点击按钮时, 触发按钮的点击事件, 调用子组件的send2f方法

    send2f方法中通过this.$emit()调用父组件的方法, 并将数据做为参数传递过去

  • 相关阅读:
    [C++][编程风格]C++命名规则
    [Android]搜索关键字飞入飞出效果 (转)
    android,性能优化,内存优化管理,高级缓存 (转)
    Java内存泄露原因详解
    Java之线程(2) 调时器
    Java之线程(1) 传统线程机制的回顾
    Hibernate(1) 阻抗不匹配
    No4.传统线程同步通信技术
    Android内存溢出
    MAT Memory Analyzer Tool 插件装配(图解)(转)
  • 原文地址:https://www.cnblogs.com/somethingWithiOS/p/11970153.html
Copyright © 2020-2023  润新知