我的 Vue.js 学习日记 (十一) - 父子组件间的互相传值

上节回顾

上节我用element-uivue-router 实现了页面跳转的功能。

回想一下,vue-router实现组件之间的切换关键也就俩东西,一个router-link一个router-view,所以说总体来说上一节也没学啥。

本节目标

props父组件向子组件传值

$emit子组件向父组件传值

基于上一节的例子,脑子里构思了一个点击tablerow,弹出框显示本行信息这样一个画面

1.创建表单弹出框

要点:

  • props: ['student']告诉父组件我(弹出框组件)需要一个student
  • this.$emit('confirm', this.form)触发父组件中,弹出框组件上定义的confirm事件,并将this.form传递过去

student-list-info组件完整代码:






2.将弹出框引入List页面

student-list页面需要注意的只有这里:
@confirm="onConfirm" :student="this.student">

:student:中的student对应props: ['student']中的student

@confirm:@后面的confirm对应this.$emit('confirm', this.form)中的confirm

完整代码:






3.查看效果

1.添加学员信息

我的 Vue.js 学习日记 (十一) - 父子组件间的互相传值_第1张图片

我的 Vue.js 学习日记 (十一) - 父子组件间的互相传值_第2张图片

2.查看学员信息

查看功能一直没有思路,只能先记录一下现在的想法,拿已有的知识来实现他啦

先选中要查看的行,然后点击按钮展示选中的学员信息。
我的 Vue.js 学习日记 (十一) - 父子组件间的互相传值_第3张图片

小节

现在的能力真的很有限,再加上知识面太窄,目前没有找到好的方式可以直接点击行弹出表单信息而不报错的方式,不过我相信用不了多久就可以实现啦,1点了,累,睡啦...

你可能感兴趣的:(element-ui,vue-router,vue.js)