vue.js实战笔记:父子组件之间的那些事儿
来源:互联网 发布:开票软件 含税价标志 编辑:程序博客网 时间:2024/05/29 07:24
父组件向子组件传递数据
父组件向子组件传递数据:
栗子1:父组件A向子组件A-1传递参数:currStudentId,有两种传递方式:
第一种传递方式,是使用静态传递方式,打个比方A-1组件中,需要的是一个固定的值,常量,那么,可以使用这种传递方式,语法:
//子组件A-1Vue.component('A-1', { // 声明 props props: ['currStudentId'], data: function() { return { page: 1 } } // 就像 data 一样,prop 可以用在模板内 template: '<span>{{ currStudentId }}</span>'})//父组件A<A-1 curr-student-id='1'></A-1>
需注意,这里使用curr-student-id而不能使用currStudentId,因为VUE规定:
HTML 特性是不区分大小写的。所以,当使用的不是字符串模版,camelCased (驼峰式) 命名的 prop 需要转换为相对应的 kebab-case (短横线隔开式) 命名
第二种传递方式,是使用动态传递方式,和静态传递方式不同,我们要传递的是非固定的值。
//子组件A-1Vue.component('A-1', { // 声明 props props: ['currStudentId'], data: function() { return { page: 1 } } // 就像 data 一样,prop 可以用在模板内 template: '<span v-model="currStudentId"></span>'})//父组件A中使用A-1组件<A-1 :curr-student-id='studentId'></A-1>
子组件向父组件传递数据(改变父组件数据)
//子组件A-1Vue.component('A-1', { // 声明 props props: ['currStudent'], data: function() { return { page: 1 } }, methods: { changeStudent: function() { this.currStudent.name="xyz"; } }})
//父组件A<A-1 curr-student='currStudent'></A-1>父组件中A中data数据格式如下:data() { return { currStudent: { name: '' } }}
在vue2.0之后的版本中,不允许子组件直接改变父组件的数据,在1.0的版本中可以这样操作的,但是往往项目需求需要改变父组件的数据,2.0也是可一个,区别是,当我们把父元素的数据给子组件时,需要传一个对象,子组件通过访问对象中的属性操作数据
父组件操作子组件的方法
//子组件A-1:Vue.component('A-1', { // 声明 props props: ['currStudentId'], data: function() { return { page: 1 } } // 就像 data 一样,prop 可以用在模板内 template: '<span v-model="currStudentId"></span>', methods: { showStudents() { console.info("students"); } }})
//父组件<A-1 :curr-student-id='studentId' ref="studentComponent"></A-1>this.$refs.studentComponent.showStudents();
子组件和父组件监听事件
栗子:子组件A-1触发父组件A。
//子组件A-1Vue.component('A-1', { data: function() { return { page: 1, student: '' } } // 就像 data 一样,prop 可以用在模板内 template: '<span v-model="currStudentId"></span>', methods: { studentPick: function() { //$emit触发 this.$emit('set-student', this.student); } }})
//父组件A中添加监听<A-1 @set-student="setStudent"></A-1>//父组件中添加方法setStudentmethods: { //.......other methods setStudent: function(studentInfo){ //studentInfo是自组件触发传过来的 }}
阅读全文
0 0
- vue.js实战笔记:父子组件之间的那些事儿
- vue父子组件之间的通信
- 总结vue父子组件之间的通信
- 关于Vue父子组件之间的通信
- vue 父子组件之间的数据传递
- Vue笔记2 父子组件的数据通信
- vue开发:vue父子组件与非父子组件之间的通信
- Vue.js 父子组件通讯
- 父子组件通信vue.js
- vue.js学习笔记(三)--父子组件通信总结
- vue.js学习笔记(六)--利用v-model实现父子组件间的双向通信
- vue开发:vue2.0父子组件及非父子组件之间的通信方法
- Vue.js父子组件和非父子组件间的传值通信
- vue父子组件的嵌套
- Vue.js组件之间的调用
- vue.js父子组件通信动态绑定
- 【19】vue.js — 父子组件
- vue-router的那些事儿
- 自己配置yum源
- 关于主键设置的increament属性的设置
- 剑指Offer--数组中的逆序对--归并排序!
- PhpStorm2017版激活方法、汉化方法以及界面配置
- KNN算法详解
- vue.js实战笔记:父子组件之间的那些事儿
- 都在谈人工智能,但你知道它的潜力、实践意义、障碍是什么吗?
- word
- Ipoe和Pppoe,宽带认证技术
- SWUST_OJ 水王发帖排序
- 卷积神经网络进行图像处理的工作原理
- 阿里云CentOS 6.8 + WordPress + 芒果云KODExplorer
- javaweb学习总结(八)——HttpServletResponse对象(二)
- pods导入的库为什么引入头文件的时候不显示?