vue--父子组件的传值
什么是父子组件?
组件中引入组件,被引入的组件就是子组件。例如在 Hello.vue 组件中引入 Header.vue 组件,那么 Hello.vue 就是父组件,Header.vue就是子组件。
一、父组件向子组件传值
Hello.vue
<template>
<div id="Header">
{{msg}}
<!-- 调用自组件传递title 和 msg -->
<v-header :title="title" :msg="msg"></v-header>
</div>
</template>
<script>
import Header from './Header.vue';
export default {
name: 'Header',
data () {
return {
msg: 'Hello模块',
title:'我是Hello父组件里面的title'
}
},
methods:{
},
components:{
'v-header':Header
}
}
</script>
子组件:header.vue 中使用 props 来进行接受参数:
<template>
<div id="Header">
<p>我是一个头部组件----{{title}}-----{{msg}}</p>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {}
},
props:['title','msg']
}
</script>
二、父组件向子组件传递方法
Hello.vue
<template>
<div id="Header">
{{msg}}
<!-- 调用自组件传递 run 方法(传递不带括号) -->
<v-header :title="title" :msg="msg" :run='run'></v-header>
</div>
</template>
<script>
import Header from './Header.vue';
export default {
name: 'Header',
data () {
return {
msg: 'Hello模块',
title:'我是Hello父组件里面的title'
}
},
methods:{
run(){
alert('我是Hello组件里面的hello方法');
}
},
components:{
'v-header':Header
}
}
</script>
Header.vue 同样还是用 props 来进行接受:
<template>
<div id="Header">
<p>我是一个头部组件----{{title}}-----{{msg}}</p>
<input type="button" value="调用父组件的方法" @click="run()">
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {}
},
props:['title','msg','run'] // 接受run 方法
}
</script>
三、父组件向子组件传递自己(this传递的就是自己)
<template>
<div id="Header">
{{msg}}
<!-- 调用自组件传递 run 方法(传递不带括号) 用 this 来传递自己 -->
<v-header :title="title" :msg="msg" :run='run' :hello="this"></v-header>
</div>
</template>
<script>
import Header from './Header.vue';
export default {
name: 'Header',
data () {
return {
msg: 'Hello模块',
title:'我是Hello父组件里面的title'
}
},
methods:{
run(){
alert('我是Hello组件里面的run方法');
}
},
components:{
'v-header':Header
}
}
</script>
Header.vue组件的接受 hello
<template>
<div id="Header">
<p>我是一个头部组件----{{title}}-----{{msg}}</p>
<input type="button" value="调用父组件的方法" @click="run()">
<input type="button" value="调用父组件的属性和方法" @click="getParent()">
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {}
},
methods:{
getParent(){
alert(this.title);//这里调用的传递过来的title
alert(this.hello.title);//这里调用的就是传递过来的hello组件的方法
this.run();//调用传递过来的方法
this.hello.run();// 调用传递过来的hello组件的的run方法
}
},
props:['title','msg','run','hello'] // 接受 hello 组件
}
</script>
总结:
父组件给子组件传值
1、父组件调用子组件的时候,绑定动态属性
<v-header :title='title'></v-header>
<v-header :title='title' :msg='msg'>传递两个参数
2、子组件里面可以通过 props 来进行接收参数
注意:父组件给子组件传值的时候,尽量不要传递子组件里面已经有的参数。
vue--父子组件的传值的更多相关文章
- vue父子组件之间传值
vue父子组件进行传值 vue中的父子组件,什么是父组件什么是子组件呢?就跟html标签一样,谁包裹着谁谁就是父组件,被包裹的元素就是子组件. 父组件向子组件传值 下面用的script引入的方式,那种 ...
- vue父子组件的传值总结
久违的博客园我又回来了.此篇文章写得是vue父子组件的传值,虽然网上已经有很多了.写此文章的目的就是记录下个人学习的一部分.接下来我们就进入主题吧! 在开发vue项目中,父子组件的传值是避免不掉的. ...
- Vue父子组件相互传值及调用方法的方案
Vue父子组件相互传值及调用方法的方案 一.调用方法: 1.父组件调用子组件方法: 2.子组件调用父组件方法: 参考:https://www.cnblogs.com/jin-zhe/p/9523782 ...
- vue 父子组件互相传值容易出现的报错
对于父子组件之间的互相传值,报错如下: [Vue warn]: Avoid mutating a prop directly since the value will be overwritten w ...
- vue——父子组件间传值
(1)父组件给子组件传值(商品详情页): 根据订单类型,判断显示立即购买/立即拼单: 通过props来传递参数 父组件(商品详情页) 父组件调用子组件,在子组件的标签中,通过:数据名称=”数据”的形式 ...
- vue 父子组件相互传值
子传父 逻辑: 单击子组件的按钮 ,触发它的单击事件 通过 $emit 触发父级自定义事件 并传一个值给父级 <div id="id"> <h3>儿子 ...
- VUE父子组件相互传值
passer.vue中代码 首先在文件中引入组件 import canvasDraw from '@/components/CanvasDraw/canvasDraw' 局部注册组件:componen ...
- vue父子组件通信传值
父组件 -> 子组件 通过props来进行通信 父组件代码: <Children :dataName = "dataContent" /> //dataName: ...
- vue父子组件相互传值的实例
当子组件需要向父组件传递数据时,就要用到自定义事件 子组件用 $emit()来触发事件,父组件用$on()来监昕子组件的事件 父组件也可以直接在子组件的自定义标签上使用 v-on 来监昕子组件触发的自 ...
- vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。
vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值. vue 父组件与子组件相互通信 一.父组件给子组件传值 props 实现父组件向子组件传值. 1父组件里: ...
随机推荐
- Android 安全提示 笔记
http://developer.android.com/training/articles/security-tips.html1.数据存储内部存储internal storage存储的数据,只能由 ...
- C++标准命名空间std
输入输出要用到这个. 标准C++库的所有的标识符都是在一个名为std的命名空间中定义的,或者说标准头文件(如iostream)中函数.类.对象和类模板是在命名空间 std中定义的.std是standa ...
- 数据库事务MTDC出错解决办法
Communication with the underlying transaction manager has failed 与基础事务管理器的通信失败 排除步驟: 1.檢查MS DTC 設置.[ ...
- C 语言与动态库相关基础知识
1.导入文件<>和“”的区别 #include <xxx.h>导入的是标准目录下的.h文件,所谓的标准目录指的是:/use/local/include(一般是第三方头文件)以及 ...
- phonegap入门–1 Android 开发环境搭建
一.JDK 安装JDK,安装包中包含了JDK和JRE两部分,建议将它们安装在同一个盘符下面. 配置环境变量: 1.右键点击我的电脑,选择属性,点击高级选项卡,选择环境变量. 2.找到Path变量名(无 ...
- 5 -- Hibernate的基本用法 --4 9 其他常用的配置属性
Hibernate其他常用的配置属性: ⊙ hibernate.show_sql : 是否在控制台输出Hibernate持久化操作底层所使用的SQL语句.只能为true和false两个值. ⊙ hib ...
- 转载nginx+uwsgi+django
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- iOS开发-- 如何让 UITableView 的 headerView跟随 cell一起滚动
在我们利用 UITableView 展示我们的内容的时候,我需要在顶部放一个不同于一般的cell的 界面,这个界面比较独特. 1. 所以我就把它 作为一个section的 headerView. 也就 ...
- mybatis 之 resultType="HashMap" parameterType="list"
public ServiceMessage<List<Map<String, Object>>> queryGoodsStockInfo(List<Long& ...
- MQTT_DEMO
1 /* 2 Copyright (c) 2009-2012 Roger Light <roger@atchoo.org> 3 All rights reserved. 4 5 Redis ...