- 适用场景: 复杂关系的组件数据传递
Vuex
作用相当于一个用来存储共享变量的容器
state
用来存放共享变量的地方getter
,可以增加一个getter
派生状态,(相当于store
中的计算属性),用来获得共享变量的值mutations
用来存放修改state
的方法。actions
也是用来存放修改state的方法,不过action
是在mutations
的基础上进行。常用来做一些异步操作
父组件通过v-bind属性绑定向子组件共享数据。同时,子组件需要使用props接受数据。
父组件:
<my-watch :msg="message" :user="userinfo"></my-watch>
data() {
return {
message: '父传子v-bind,子接受props',
userinfo:{name:'父v-bind',age:'子props'}
tips:这里需要注意的是props是只读的,通过props接收的数据不可以在子组件中直接修改值,子组件接收到的值只是一个引用,不过可以修改成功,只是会报错,我们有需求在子组件中修改值的话,可以先转存一下再进行修改
现在我们有这样一个App.vue的组件,它的子组件为Son.vue
我们想要让子组件来使用App.vue父组件中的数据:
1.我们想要关联这俩个
导读: 本篇文章会讲到Vue中重要的一个问题,就是组件与组件之间怎么进行数据共享?之前我们有说过,每个组件之间是相互独立的,可以通过导入组件以及注册组件的方式进行使用,那我们组件之间怎么传递数据呢?
1、组件之间的关系
在开发中 经常见到的关系分为以下几种:
父子组件(父子关系)
兄弟组件(兄弟关系)
可以看下关系图
A——B A——C 父子关系
B-C 兄弟关系
#mermaid-svg-H9vkRwclTBeIS6nt .label{font-family:'trebuchet ms',.
组件实例的作用域是孤立的。也就是说,子组件的是无法直接获取到父组件中的数据的。VueJS 为组件开发提供了 props,通过 props ,父组件中的数据将能够传递给子组件,而子组件则需要提前对 props 进行声明以便接收父组件传递过来的数据。
在对通用组件进行封装时,合理地使用 props 能够提升组件的复用性。
我们可以在使用组件时,通过使用在子组件中使用 props 定义的属性来向子组件传递数据。
驼峰式命名
HTML 是 不区分大小写的。如果在一个 HTML 元素中存在多个同名属