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父组件里: ...
随机推荐
- scala中Map和Set
scala中Set包含可变set和不可变Set,set的子类HashSet,各有一个扩展了可变和不可变的set特质. 可变set import scala.collection.mutable.Se ...
- 在AD的环境下,更改计算机名导致TFS,无法连接解决办法
D:\vs2015>tf workspaces /collection:http://10.1.0.104:8080/tfs/dahua.adrms /updateComputerName:WI ...
- 让Json更懂中文(JSON_UNESCAPED_UNICODE)
我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式, 还会在一定程度上增加传输的数据量. <?php echo json_ ...
- Hibernate_day01讲义_使用Hibernate完成对CRM系统中客户管理的DAO中的CRUD的操作
- Java -- 异常的捕获及处理 -- Exception类与RuntimeException类
7.3 Exception类与RuntimeException类 Exception类与RuntimeException类的联系与区别??? 例:字符串变为整型 Class : RuntimeExce ...
- CentOS7--使用yum安装和管理软件
yum是红帽软件包管理器,它能能够查询,安装和卸载软件包,以及将整个系统更新到最新的可用版本.Yum可以在安装的过程中自动解决依赖关系. 1. 检查和更新软件包 1.1 查询更新 查看系统上哪些已安装 ...
- iOS开发——iOS7(及以后版本) SDK自带二维码(含条形码)扫码、二维码生成
本文转载至 http://www.cnblogs.com/leotangcn/p/4357907.html 现在很多APP都涉及了二维码扫码功能,这个功能简单实用,很多情况下用户乐于使用,现在本文带来 ...
- 《转载》为什么我要在2018年学习Python?
本文转载自36kr 从网页编程到时髦的人工智能,机器学习,这个享有"瑞士军刀(万能工具)"盛誉的Python语言, 你学会了吗? 编者注: 根据维基百科的解释,"Pyth ...
- No.3 PyQt学习
使用box布局,写了 一个系统的主页(非常丑) 代码如下: # -*- coding: utf-8 -*- import sys from PyQt4.QtGui import * from PyQt ...
- window下遍历并修改文件
今天需要写一个遍历文件夹下的所有文件,试了试以前的方法竟然报错了.重新改了一下. #include <iostream> #include <stdlib.h> #includ ...