【Vue】零基础学习Vue: 第23课 Vue 单向数据流父组件的属性值子组件如何更改:
2019-07-01 10:17
731 查看
单向数据流原理:
子组件不能直接修改父组件中传递的数据
如需间接改变父组件传递的数据 (解决方法:可以在子组件data选项中存储父组件传递的数据之后修改子组件中的数据 即可)
以下是实现代码:
[code]<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>子组件改变父组件参数</title> <!-- 引入vue --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <!--引入子组件 父组件 向 自组件传msg,a值 --> <son :msg="msg" :a="a"></son> </div> <!-- 子组件son --> <template id="son"> <div> <div>我是子组件,父组件传递的数据msg是{{msg}}</div> <div @click="change">我是子组件,点击我更改父组件传递的a值{{b}}</div> </div> </template> <script> let son = { template:'#son', props:['msg','a'], //定义子主件的变量 data(){ return { b:this.a //存储父组件传递的数据 } }, //子主件方法 methods:{ change(){ console.log('函数执行') this.b++ //修改子组件中的数据 } } } let vm = new Vue({ el:'#app', //父组件 //父组件的数据 data:{ msg:2, a:1 }, //注册子组件 components:{ son } }) </script> </body> </html>
运行结果如下:
我是子组件,父组件传递的数据msg是2
我是子组件,点击我更改父组件传递的a值1
自己动手试一下吧!
代码是完整的哦!把代码复制自己创建一个html文件粘贴就行啦!
相关文章推荐
- Vue.js 2.0学习教程之从基础到组件详解
- 金山大数据技术总监教您如何零基础学习大数据
- vue.js 学习之组件之间数据传递详解
- JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(3)
- 零基础如何利用业余的时间学习数据分析
- JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(1)
- Vue 2.0学习笔记:组件数据传递
- WEB前端 vue学习二 组件之间的数据传递
- Vue学习笔记3.1 子-父组件传递数据 v-bind、v-on、$emit()
- Vue学习笔记4.5 非父子组件之间的数据传递(bus机制/订阅者模式/观察者模式)
- 【Vue】零基础学习Vue: 第25课 Vue子组件slot插槽让子组件自定义样式:
- 大数据是什么,零基础如何系统学习大数据
- php学习第一章:PHP基础语法(三)数据结构与算法:2、单向链表
- vue基础语法以及父子组件如何相互传值
- Vue.js学习系列(八)---如何使用组件
- vue中如何让子组件修改父组件数据
- Vue 2.0学习笔记:实现组件数据的双向绑定
- Vue学习笔记2-6 全局组件与局部组件、子组件数据传递
- Spark中组件Mllib的学习17之colStats:以列为基础计算统计量的基本数据
- JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(2)