vue子组件和父组件双向传值:

子:

Vue.component("childComponent",{
template:`<div><p @click='postData'>向父组件传值:点击我</p>{{result?'开':'关'}}<p @click='handleData'>子组件改变父组件的数值</p></div>`,
props:{
result:Boolean,
changeData:Function
},
data(){
return{
message:'从子组件传过来的数据'
}
},
methods:{
postData(){
this.$emit('receiveData',this.message)
},
handleData(){
this.changeData()
}

}
});

父:

const app = new Vue({
el: '#app',
router,
data:{
results:true,//开关状态数据
ChildData:'',
changedatas:'哈哈哈哈'
},
methods:{
change(){
this.results=!this.results;
},
FromChildData(data){
this.ChildData = data
},
handleData(){
this.changedatas +=2
}
},
components: { App },
template: `
<div id="app">
<p>changedatas:{{changedatas}}</p>
<p>接收子组件的数据:{{ChildData}}</p>
<childComponent :result="results"
:change-data="handleData"
@receiveData="FromChildData"></childComponent>
<input type="button" value="change me 开 关" @click="change">
</div>
`
})

react子组件和父组件双向传值:

父:

import React, { Component } from 'react';
import AppChild from './child.js'
class AppParent extends Component {
constructor(props){
super(props);
this.state = {
parentData: '从父组件过来的数据',
childData:'初始化数据'
};
}
handleChildData = (childData) => {
this.setState({
childData:childData
})
};
render() {
let parentData = this.state.parentData;
let childData = this.state.childData;
return (
<div className="parent">
<p>接收来自子组件传来的数据:{childData}</p>
<AppChild parentData={parentData} onChildDataChange={this.handleChildData}></AppChild>
</div>
);
}
}

export default AppParent;

子:

import React, { Component } from 'react';
class AppChild extends Component {
constructor(props){
super(props);
}
handleData = (e) =>{
// 接受父组件传递过来的函数,调用并传值给父组件
this.props.onChildDataChange(e.target.value)
};
render() {
return (
<div className="child">
AppChild
输入传入父组件的数据:<input type="text" value={this.props.childData} onChange={this.handleData}/>
<p>{this.props.parentData}</p>
</div>
);
}
}

export default AppChild;

最新文章

  1. 记录一些PHP7RCC1编译问题
  2. win环境变量立即生效
  3. 【项目】UICollectionViewFlowlayout再一次自定义
  4. ubunut 12.04 (64bit) android编译环境搭建
  5. FLASH CC 2015 CANVAS 导出音频问题
  6. 转载字典地址:http://blog.csdn.net/aladdinty/article/details/3591789
  7. javascript如何判断一个对象是否是窗口
  8. Android布局管理器(线性布局)
  9. input框限制只能输入正整数、字母、小数、
  10. element-ui 修改源码实践 --tranfer
  11. RxJava2.0相关教程
  12. python数据结构之直接插入排序
  13. Pytorch 各种奇葩古怪的使用方法
  14. linux系统中不同颜色的文件夹及根目录介绍
  15. Altium中Logo的导入方法及大小调整
  16. C#.NET常见问题(FAQ)-如何强制退出进程
  17. django常用封装
  18. flask系列一之环境搭建包安装
  19. 10、Flask实战第10天:视图使用装饰器
  20. springboot示例参考网站

热门文章

  1. pages
  2. [CSP-S模拟测试]:购物(柯朵莉树)
  3. Ubuntu中几个字符小玩意儿
  4. 部署-GPS授时系统:GPS授时系统
  5. django 给数据库批量添加数据
  6. 再谈 COW、ROW 快照技术
  7. windows10下安装docker报错:error during connect
  8. 【BASIS系列】SAP 批量锁住用户和TCODE的方法
  9. day16模块,导入模板完成的三件事,起别名,模块的分类,模块的加载顺序,环境变量,from...import语法导入,from...import *,链式导入,循环导入
  10. 浅谈矩阵加速——以时间复杂度为O(log n)的算法实现裴波那契数列第n项及前n之和使用矩阵加速法的优化求法