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: JAVA和C# 3DES加密解密
最近 一个项目.net 要调用JAVA的WEB SERVICE,数据采用3DES加密,涉及到两种语言3DES一致性的问题,下面分享一下,这里的KEY采用Base64编码,便用分发,因为Java的Byt ...
- IT建设如何面对“短板”和“孤峰”?
在与很多企业探讨信息化建设时,很多IT负责人都提出过一个问题,企业信息化建设的资源是有限的,信息化的资源是先强化企业的“孤峰”还是先支持“短板”? 企 业虽说是一个整体,但不同的领域如研发.生产. ...
- 上机题目(0基础)- 用数组实现记事本(Java)
用java实现一个记事本程序,记录记下的按键,代码例如以下: package com.java.test; import java.awt.Graphics; import java.awt.even ...
- Java 流(Stream)、文件(File)和IO -- Java ByteArrayInputStream类
字节数组输入流在内存中创建一个字节数组缓冲区,从输入流读取的数据保存在该字节数组缓冲区中.创建字节数组输入流对象有以下几种方式. 接收字节数组作为参数创建: ByteArrayInputStream ...
- UITextField in a UITableViewCell
http://stackoverflow.com/questions/409259/having-a-uitextfield-in-a-uitableviewcell http://stackover ...
- Bypass X-WAF SQL注入防御(多姿势)
0x00 前言 X-WAF是一款适用中.小企业的云WAF系统,让中.小企业也可以非常方便地拥有自己的免费云WAF. 本文从代码出发,一步步理解WAF的工作原理,多姿势进行WAF Bypass. ...
- HttpClient(五)-- 模拟表单上传文件
1.maven依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId ...
- Selenium 获取节点信息
Selenium 可以通过 find_element() 找到指定的节点,Selenium 也提供了相关的方法和属性来直接提取节点信息,如属性.文本等 from selenium import web ...
- Bugly最简单的配置方法
1,注册Bugly帐号 2.项目 build.gradle 中配置 compile 'com.tencent.bugly:crashreport:latest.release'//其中latest.r ...
- 《转载》IntelliJ 2016.2 IDEA 中进行 Java Web 项目开发配置
本文转载自 https://segmentfault.com/a/1190000007088964 1. 新建一个 Web Application 项目 打开 IntelliJ,选择新建项目: 左边栏 ...