VUe.js 父组件向子组件中传值及方法

父组件向子组件中传值

  1.  Vue实例可以看做是大的组件,那么在其内部定义的私有组件与这个实例之间就出现了父子组件的对应关系。

   2. 父子组件在默认的情况下,子组件是无妨访问到父组件中的数据的,所以要想在子组件中使用父组件的数据的时候,就需要以属性绑定的形式,将父组件的数据传递到子组件中。

      3. 通过属性绑定传递来的数据无法再子组件中直接使用,需要在props中重新定义以后才可以使用。例:props:[‘变量名‘]。props是一个数组。

      4. 子组件中的data数据都是私有,子组件可以通过ajax请求到的数据放到data上使用。

      5. props:[ ]中的数据都是只读的,不可以进行改变,如果强行改变页面也会显示改变后的效果,但是会有警告。

    

<body>
    <div id="app">
        <com1 v-bind:fudata="msg"></com1>
    </div>

</body>
<script>
    var vm = new Vue({
        el: ‘#app‘,
        data: {
            msg: ‘这是父组件中的数据----1234‘

        },
        components: {
            com1: {
                template: ‘<h1>这是子组件----5678---------{{fudata}}</h1>‘,
                props: [‘fudata‘]
            }
        },

    })
</script>

父组件向子组件传递方法

    1. 子组件要想获得父组件中的方法,需要使用时间绑定机制。

    2. 在子组件中要想使用父组件传递过来的方法,需要用到一个新的方法  this.$enit.(‘方法名‘)

    

<!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="./lib/Vue.js"></script>
</head>

<body>
    <div id="app">
        <com1 @func="show"></com1>
    </div>
    <template id="ttpp">
        <div>
            <h1>子组件</h1>
            <input type="button" value="通过点击来获得父组件上的方法" @click="self">
        </div>
    </template>
</body>
<script>
    var vm = new Vue({
        el: ‘#app‘,
        data: {},
        methods: {
            show() {
                console.log("OK")
            }
        },
        components: {
            com1: {
                template: ‘#ttpp‘,
                methods: {
                    self() {
                        this.$emit(‘func‘);
                    }
                }
            },
        },

    })
</script>

</html>

原文地址:https://www.cnblogs.com/LittleDuan/p/11331033.html

时间: 2024-08-03 18:58:19

VUe.js 父组件向子组件中传值及方法的相关文章

js父页面和子页面之间传值

今天和朋友一块讨论,怎样通过js在父页面和子页面之间传值的问题,总结例如以下: 需求描写叙述:父页面有多个子页面.实如今父页面点击子页面,传值到子页面. 看着非常easy,试了好久.主要纠结在怎样获取iframe,刚開始用document.getElementById('iframe的ID'),后来查资料才发现这样的方法仅仅是去取出了一个OBJECT,不能操作它的函数方法.后来改成window.iframes["iframe的name"],这样就能够获取子页面的整个DOM,能够操作它的

vue中父组件向子组件传值(方法)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>父组件把方法传递给子组件</title> <script src="./vue2.6.9.js"></script> </head> <body> <div id="app&

Vue中,父组件向子组件传值

1:在src/components/child/文件夹下,创建一个名为:child.vue的子组件 2:在父组件中,设置好需要传递的数据 3:在App.vue中引入并注册子组件 4:通过v-bind属性绑定并赋值给子组件 5:子组件通过 props 接收父组件传递过的数据 6:查看 7:总结: 子组件在props中创建一个属性,用以接收父组件传过来的值 父组件中注册子组件 在子组件标签中添加子组件props中创建的属性 把需要传给子组件的值赋给该属性 原文地址:https://www.cnblo

Vue的父子组件v-model双向绑定,父组件修改子组件中绑定的v-model属性

先来看下实现的效果,父组件中有个文本框,在点击下面按钮时弹出抽屉,抽屉里也有个文本框,文本框里的初始值要和父组件的文本框同步,并且修改抽屉里的文本框值时 父组件里的文本框值也要跟着改变 网上有大概三种方法 父组件调用子组件传值,子组件通过props接收父组件传来的值,并通过emit发送方法名和值,父组件根据传来的方法名定义方法接收值并进行赋值操作. Sync  这个没试过不了解 v-model  子传父: 父组件定义v-model,子组件中当数据更新时,向父组件emit一个input事件,将更新

vue组件-#构成组件-父组件向子组件传递数据

组件对于vue来说非常重要,学习学习了基础vue后,再回过头来把组件弄透! 一.概念 组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模版中使用了组件 B . 它们之间必然需要相互通信:父组件要给子组件传递数据,子组件需要将它内部发生的事情告知给父组件. 在 Vue.js 中,父子组件的关系可以总结为 props down, events up . 父组件通过 props 向下传递数据给子组件,子组件通过 events 给父组件发送消息. 看看它们是怎么工作的.        

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" con

Vue 父组件向子组件传值,传方法,传父组件整体

父子组件传值 1.父组件调用子组件时绑定属性,例如-> :title="title" 2.子组件中在props中声明title:props:['title','msg'] 3.就可以在子组件中引用title Tips:避免父子组件传值时命名冲突 父子组件传方法方式一样 1.父组件调用子组件时绑定属性,例如-> :run="run" 2.子组件中props中声明run:props:['title','msg','run'] 3.子组件中的button引用r

Vue父组件向子组件传递一个动态的值,子组件如何保持实时更新实时更新?

原文:https://blog.csdn.net/zhouweixue_vivi/article/details/78550738 2017年11月16日 14:22:50 zhouweixue_vivi 阅读数:29918 最近用vue做一个新项目,经历了各种折磨,每次遇到问题都想大喊,格劳资上JQuery,氮素肯定是不行的,今天遇到一个小问题,Vue父组件向子组件传递一个动态的值,子组件只能获取初始值,不能实时更新? 这就有点折磨人了,设想的是,父组件发生变化获取数据,动态传递给子组件,子组

angular 中父组件调用子组件的方法

angular中 父组件调用子组件的方法 -- 使用 @ViewChild 装饰器修饰子组件,获取方法,调用 除此之外 ViewChild 还可以获取 DOM ,操作 DOM , 详见: https://www.cnblogs.com/monkey-K/p/11567098.html 1. html 中使用 #var 方式标记 子组件 <div style="border: 1px solid red"> <p>子组件:</p>> <ap