父子组件之间的数据交互遵循:

  1. props down - 子组件通过props接受父组件的数据
  2. events up - 父组件监听子组件$emit的事件来操作数据

示例

子组件的点击事件函数中$emit自定义事件

export default {
name: 'comment',
props: ['issue','index'],
data () {
return {
comment: '',
}
},
components: {},
methods: {
removeComment: function(index,cindex) {
this.$emit('removeComment', {index:index, cindex:cindex});
},
saveComment: function(index) {
this.$emit('saveComment', {index: index, comment: this.comment});
this.comment="";
}
},
//hook
created: function () {
//get init data } }

父组件监听事件

<comment v-show="issue.show_comments" :issue="issue" :index="index" @removeComment="removeComment" @saveComment="saveComment"></comment>

父组件的methods中定义了事件处理程序

    removeComment: function(data) {
var index = data.index, cindex = data.cindex;
var issue = this.issue_list[index];
var comment = issue.comments[cindex];
axios.get('comment/delete/cid/'+comment.cid)
.then(function (resp) {
issue.comments.splice(cindex,1);
});
},
saveComment: function(data) {
var index = data.index;
var comment = data.comment;
var that = this;
var issue =that.issue_list[index];
var data = {
iid: issue.issue_id,
content: comment
}; axios.post('comment/save/',data)
.then(function (resp) {
issue.comments=issue.comments||[];
issue.comments.push({
cid: resp.data,
content: comment
});
}); //clear comment input
this.comment="";
} },

注意多参数的传递是一个对象

其实还有更多的场景需要组件间通信

官方推荐的通信方式

  1. 首选使用Vuex
  2. 使用事件总线:eventBus,允许组件自由交流
  3. 具体可见:https://cn.vuejs.org/v2/guide/migration.html#dispatch-和-broadcast-替换

最新文章

  1. html5上传图片(一)一跨域上传
  2. 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问题。
  3. 在Application中集成Microsoft Translator服务之使用http获取服务
  4. 【caffe】mnist训练日志
  5. IE 11 保护模式害惨了我
  6. linux redis 安装
  7. Sublime Text 快捷键
  8. 记一个python+sqlalchemy+tornado的一个高并发下,产生重复记录的bug
  9. josephus问题
  10. openstack私有云布署实践【10.1 计算nova - kxcontroller节点配置(科兴环境)】
  11. redis - 主从复制与主从切换
  12. Python 编程基础之高阶函数篇(一)
  13. codeforces 809E Surprise me!
  14. CentOS初次安装基本配置
  15. 王垠的40行代码,究竟diao在哪里
  16. LordPE修复从进程dump出来的内存文件
  17. datatables后端分页
  18. 20190316 Python - Pandas
  19. webpack处理媒体文件(图片/视频和音频)
  20. hdu-2844(完全背包+二进制优化模板)

热门文章

  1. 【ELK】【ElasticSearch】3.es入门基本操作
  2. 高通与MTK瓜分天下?手机处理器品牌分析
  3. Linux下Tomcat的启动、关闭
  4. CSS:如何学习 CSS?
  5. Linux的命名空间详解--Linux进程的管理与调度(二)
  6. Struts2再曝高危漏洞(S2-020补丁绕过)
  7. ExtJS 4.2 教程-04:数据模型
  8. Easyui 页面设置加载完成之后,满屏
  9. java.lang.NoClassDefFoundError: com.sap.conn.jco.JCo (initialization failure) java.lang.UnsatisfiedLinkError: no sapjco3 in java.library.path
  10. Visual Studio提示“无法启动IIS Express Web服务器”的解决方法 vs调试显示无法显示此页面 ,vs调试浏览器白页