Vue(5)- 子父级组件之间的数据传递

父组件 向 子组件 传递数据

 1 Parent.vue 文件
 2
 3 <template>
 4   <div>
 5     <h2>Parent Component</h2>
 6     <p>
 7       <Child :ParentToChild="ParentToChildMsg" />
 8     </p>
 9   </div>
10 </template>
11
12 <script>
13   import Child from ‘./Child‘
14   export default {
15     name: "Parent",
16     data() {
17       return {
18         ParentToChildMsg:"这是【父组件】向【子组件】传递的信息",
19       }
20     },
21     components: {
22       Child
23     }
24   }
25 </script>
 1 Child.vue 文件
 2
 3 <template>
 4   <div>
 5     <h2>Child Component</h2>
 6     <p>{{ParentToChild}}</p>
 7   </div>
 8 </template>
 9
10 <script>
11   export default {
12     name: "Child",
13     data() {
14       return {
15       }
16     },
17
18     // 接受父组件传递的消息
19     props:{
20       ParentToChild:{
21         type:String,
22         default:""
23       }
24     }
25   }
26 </script>

子组件 接受 父组件 的数据类型有两种
        普通类型:字符串(String)、数字(Number)、布尔值(Boolean)、空(Null)
        引用类型:数组(Array)、对象(Object)

重点
        普通类型是可以在子组件中更改,不会影响其他兄弟子组件内同样调用的来自父组件的值
        引用类型的值,当在子组件中修改后,父组件的也会修改,那么后果就是,其他同样引用了改值的子组件内部的值也会跟着被修改。除非你有特殊的要求这么去做,否则最好不要这么做

子组件 向 父组件 传递数据

 1 Child.vue 文件
 2
 3 <template>
 4   <div>
 5     <h2>Child Component</h2>
 6     <p>
 7       <button @click="ChildToParent">发送</button>
 8     </p>
 9   </div>
10 </template>
11
12 <script>
13   export default {
14     name: "Child",
15     data() {
16       return {
17       }
18     },
19
20     methods:{
21       ChildToParent(){
22         // 向父组件发消息
23         this.$emit("ChildToParentMsg","这是【子组件】向【父组件】传递的信息");
24       }
25     }
26   }
27 </script>
 1 Parent.vue 文件
 2
 3 <template>
 4   <div>
 5     <h2>Parent Component</h2>
 6     <p>
 7       <Child @ChildToParentMsg="handleChildToParentMsg"/>
 8     </p>
 9   </div>
10 </template>
11
12 <script>
13   import Child from ‘./Child‘
14
15   export default {
16     name: "Parent",
17     data() {
18       return {
19       }
20     },
21     components: {
22       Child
23     },
24     methods:{
25       // 接受子组件发送的消息 data
26       handleChildToParentMsg(data){
27         console.info(data)
28       }
29     }
30   }
31 </script>

原文地址:https://www.cnblogs.com/abdusalam10/p/11990814.html

时间: 2024-10-07 17:41:01

Vue(5)- 子父级组件之间的数据传递的相关文章

Vue 爬坑之路(二)—— 组件之间的数据传递

Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. 首先用 vue-cli 创建一个项目,其中 App.vue 是父组件,components 文件夹下都是子组件. 一.父组件向子组件传递数据 在 Vue 中,可以使用 props 向子组件传递数据. 子组件部分: 这是 header.vue 的 HTML 部分,logo 是在 data 中定义的变量. 如果需要从父组件获取 logo 的值,就需要使用 props: ['lo

vue组件之间的数据传递

Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. 首先用 vue-cli 创建一个项目,其中 App.vue 是父组件,components 文件夹下都是子组件. 一.父组件向子组件传递数据 在 Vue 中,可以使用 props 向子组件传递数据. 子组件部分: 这是 header.vue 的 HTML 部分,logo 是在 data 中定义的变量. 如果需要从父组件获取 logo 的值,就需要使用 props: ['lo

Vuex 组件之间的数据传递

在 Vue.js 的项目中,如果项目结构简单, 父子组件之间的数据传递可以使用  props 或者 $emit 等方式 http://www.cnblogs.com/wisewrong/p/6266038.html 但是如果是大型项目,很多时候都需要在子组件之间传递数据,使用之前的方式就不太方便.Vue 的状态管理工具 Vuex 完美的解决了这个问题. 一.安装并引入 Vuex 项目结构: 首先使用 npm 安装 Vuex cnpm install vuex -S 然后在 main.js 中引入

react.js从入门到精通(五)——组件之间的数据传递

一.组件之间在静态中的数据传递 从上面的代码我们可以看出,两个组件之间的数据是分离,但如果我们有某种需求,将数据从一个组件传到另一个组件中,该如何实现? 场景设计: 将Home.js中的HomeData传递到MyScreen.js中 import React,{ Component } from 'react' import MyScreen from "./MyScreen"; class Home extends Component { constructor(props) { s

Vue2.x 兄弟组件之间的数据传递

兄弟组件之间的数据传递 思路:创建三个组件分别是<my-aaa>.<my-bbb>.<my-ccc>,在<my-ccc>中接收<my-aaa>与<my-bbb>发送的数据,当改变<my-aaa>或<my-bbb>所发送的数据时,<my-ccc>接收的数据也随之改变 html <body> <div id="box"> <my-aaa></

vue2.0 组件之间的数据传递

组件间的数据传递// 父组件<template><div class="order"><dialog-addpro v-on:closedialog="close" :proinfo="proinfo"></dialog-addpro></div></template><script>import daddpro from '../../daddpro' expo

通过$broadcast或$emit在子级和父级controller之间进行值传递

1 通过$broadcast或$emit在controller之间进行值传递,不过这些controller必须是子级或者父级关系, 2 $emit只能向父级parent controller传递事件event与数据data,$broadcast只能向子级child controller传递event与data,$on用于接收event与data. 3 <script> 4 var myapp=angular.module('myapp',[]); 5 myapp.controller('Sel

在vue中通过使用$attrs实现组件之间的数据传递

组件之间传递数据的方式有很多种,之所以有这么多种方式,是为了满足在不同场景不同条件下的使用. 一般有三种方式: 通过 props 的方式向子组件传递(父子组件) vuex 进行状态管理 非父子组件的通信传递 Vue Event Bus,使用Vue的实例,实现事件的监听和发布,实现组件之间的传递 本文介绍的是使用$attrs的方式. 这个api是在2.4版本中添加的,那么为什么要添加这个特性呢? 看看官网是怎么解释的 包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class

Vue组件注册与数据传递

父子组件创建流程 1.构建父子组件 1.1 全局注册 (1)构建注册子组件 //构建子组件child var child = Vue.extend({ template: '<div>这是子组件</div>' }); //注册名为'child'的组件 Vue.component('child',child); (2)构建注册父组件 //构建父组件parent,在其中嵌套child组件 var parent = Vue.extend({ template: '<div>这