使用VUE开发APP,同一个组件在同一个页面内复用多次,但是它们网络请求不同

如题:使用VUE开发APP,同一个组件在同一个页面内复用多次,但是它们网络请求不同,VUEX是全局状态管理,感觉不是很适合这个场景,各位大哥有没有什么好的idea ?

阅读 5.4k
4 个回答

可以把这个组件提取为一个 UI 组件,靠父级传递的 props 来渲染。
这个组件与网络请求无关,在具体使用时可以根据不同的请求包装成不同的业务组件。

还是可以用 vuex 的

<ChildComponent type="1">

<ChildComponent type="2">

<ChildComponent type="3">

子组件里,根据 type 的值有不同的请求:

 if(this.type === '1'){
    this.$ajax('xxxx') 
 }else if(this.type === '2'){
    // 另一个请求
 }
 
 
 // 类似于这样,如果想再解耦,可以把请求放 vuex 里,通过 dispatch 发起请求

Vuex 用来管理全局状态不假,并不表示多个子组件网络请求不同就不适用。该怎么请求就怎么请求,该怎么存储就怎么存储,用 props 区分一下就行了。

先来一个华丽的分割线,刚看了几位大哥的评论,解决了我的问题,原来action请求过来的结果要作为mutation的第二个参数,所以来记录下,希望可以帮助到各位!!


这里是为什么。。。
微信截图_20200308185127.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题