非父子组件间的值变化时的通知,没有事件!,怎么单纯的让一个子组件知道另外一个子组件中的某个值变化
父组件中有两个子组件
list接收父组件传过来的三个值
现在要点击list的某个图片时,detail可以得到img的值
detail 跟 home 的关系是这样的,这个时候怎么让detail知道 点击list时对应的img值并显示
这是home页,有四个list
这是detail,由于不知道怎么获得对应的值,图片没显示出来
非父子组件间的值变化时的通知,没有事件!,怎么单纯的让一个子组件知道另外一个子组件中的某个值变化
父组件中有两个子组件
list接收父组件传过来的三个值
现在要点击list的某个图片时,detail可以得到img的值
detail 跟 home 的关系是这样的,这个时候怎么让detail知道 点击list时对应的img值并显示
这是home页,有四个list
这是detail,由于不知道怎么获得对应的值,图片没显示出来
vuex里面定义一个currentImage
state,再定义一个changeCurrentImage
mutation用于改变currentImage
在List.vue
的click事件中调用$store.commit('changeCurrentImage', item.src)
来设置vuex里的全局currentImage
在Detail.vue
中用<img :src="$store.state.currentImage" >
来显示。
具体实现参考vuex的官方文档
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答5k 阅读
复杂的使用vuex。
简单的可以通过event bus。
vuex文档
event bus demo