美文网首页
用vuex跨组件通信

用vuex跨组件通信

作者: 布呐呐aa | 来源:发表于2020-08-27 16:27 被阅读0次

在主页面要点击的方法里先写方法和保持第一个状态为true

     // 发布专利交易
          case 'm0019':
            this.$store.commit('changeReleaseState',{showRstatus:true})
            this.showPatent = false;
            this.showlTrade = false
            this.showDeal =true
            break;

在store的index.js里
在state里写下当前状态

 state:{
    dealStatus:true,//第一个要显示的页面
    showgpTrade:false,
    showpriceTrade:false,
    showmallTrade:false
  },
mutations:{
  changeReleaseState(state,obj){
      state.dealStatus = obj.showRstatus
      state.showgpTrade =obj.showgpTrade
      state.showpriceTrade = obj.showpriceTrade
      state.showmallTrade = obj.showmallTrade
    }
}

在组件里引用组件

<!--挂牌交易-->
    <gpTrading v-show="this.$store.state.showgpTrade"></gpTrading>

    <!--竞价交易-->
    <priceTrading v-show="this.$store.state.showpriceTrade"></priceTrading>

    <!--商城交易-->
    <mallTrading v-show="this.$store.state.showmallTrade"></mallTrading>

在组件要点击的方法里:

 toApply(pids){
          console.log(pids)
          switch(pids){
            case '2004':
              this.$store.commit('changeReleaseState',{showRstatus:false,showgpTrade:true,showpriceTrade:false,showmallTrade:false})
              break;
            case '2005':
              this.$store.commit('changeReleaseState',{showRstatus:false,showgpTrade:false,showpriceTrade:true,showmallTrade:false})
              break;
            case '2006':
              this.$store.commit('changeReleaseState',{showRstatus:false,showgpTrade:false,showpriceTrade:false,showmallTrade:true})
              break;
          }
        },

在组件里要显示的div里写

 <div class="rdeal-box"  v-show="this.$store.state.dealStatus">///这里!!!
      <div :class="[porel,fla,mat,'approve-show-title-style']">发布专利交易</div>
      <div :class="[porel,fla,'mp-right']">
        <div class="prompt">
          <div class="prompt-title">
            <ul>
              <li>请选择您需要的交易方式,每个专利只能发布一次</li>
              <li>为了保证您的信息能顺利通过我们的审核,请将信息的真实情况尽可能全面的发布出来!</li>
              <li>现接受完全转让与5年独占许可转让的专利技术可发布商城产品</li>
            </ul>
          </div>
          <div class="release-main">
            <div class="release-list" v-for="(i,index) in rList" :key="index+Math.random()">
              <div class="release-list-block">
                <img :src=i.rImg>
                <span>{{i.title}}</span>
              </div>
              <button class="release-btn" @click="toApply(i.pid)">立即发布</button>
            </div>
          </div>
        </div>


      </div>
    </div>

相关文章

  • Vuex 跨组件通信

    Vuex 跨组件通信 一、是什么?有什么用?什么时候用? 文档地址:https://vuex.vuejs.org/...

  • 用vuex跨组件通信

    在主页面要点击的方法里先写方法和保持第一个状态为true 在store的index.js里在state里写下当前状...

  • VUEX

    为什么要用vuex? 组件通信的类型 父子通信 跨级通信 兄弟通信 路由视图级别通信 通信解决方案 props/$...

  • vuex 跨组件通信

    https://vuex.vuejs.org/zh/guide/ 安装 配置导出一个vuex的对象挂到vue的实例...

  • vuex跨组件通信

    一、目录 1、vuex是什么,有什么用,什么时候用 2、vuex的几个核心概念 3、在项目配置vuex 4、在项目...

  • vuex跨组件通信

    vuex是什么 每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你...

  • react 跨级组件通信

    跨级组件通信所谓跨级组件通信,就是父组件向子组件的子组件通信,向更深层的子组件通信。跨级组件通信可以采用下面两种方...

  • Vuex状态管理

    简介 Vuex用作共享状态管理或者复杂跨组件通信(非父子组件)。共享状态管理如登录状态、用户信息、购物车等等。包含...

  • Vuex集中式状态管理

    目录 组件化 组件通信 状态管理 Vuex 是什么 Vuex 有什么特点 Vuex 解决了什么问题 什么类型的数据...

  • 组件通信

    组件关系 组件关系可以分为父子组件通信、兄弟组件通信、跨级组件通信。 父子组件通信 1. 子组件使用 $emit(...

网友评论

      本文标题:用vuex跨组件通信

      本文链接:https://www.haomeiwen.com/subject/yyacsktx.html