88    >
99      <span  class =" mh-tab-icon-box" 
1010        <img  class =" mh-tab-icon" :src =" getMainFrameImage" alt  />
11-         <span  class =" mh-tab-badge" span >
11+         <span 
12+           v-show =" mainframe.show" 
13+           class =" weui-badge" 
14+           :class =" { 'weui-badge_dot': mainframe.dot }" 
15+           >{{ mainframe.text }}
16+         </span >
1217      </span >
1318      <span  class =" mh-tab-label" span >
1419    </router-link >
1823      replace 
1924      @click.native.prevent =" itemDidClicked(1)" 
2025    >
21-       <img  class =" mh-tab-icon" :src =" getContactsImage" alt  />
22- 
26+       <span  class =" mh-tab-icon-box" 
27+         <img  class =" mh-tab-icon" :src =" getContactsImage" alt  />
28+       </span >
2329      <span  class =" mh-tab-label" span >
2430    </router-link >
31+     <!--  发现 --> 
2532    <router-link 
2633      class =" mh-tab-item" 
2734      to =" /homepage/discover" 
2835      replace 
2936      @click.native.prevent =" itemDidClicked(2)" 
3037    >
31-       <img  class =" mh-tab-icon" :src =" getDiscoverImage" alt  />
38+       <span  class =" mh-tab-icon-box" 
39+         <img  class =" mh-tab-icon" :src =" getDiscoverImage" alt  />
40+         <span 
41+           v-show =" discover.show" 
42+           class =" weui-badge" 
43+           :class =" { 'weui-badge_dot': discover.dot }" 
44+           >{{ discover.text }}
45+         </span >
46+       </span >
3247      <span  class =" mh-tab-label" span >
3348    </router-link >
49+     <!--  我 --> 
3450    <router-link 
3551      class =" mh-tab-item" 
3652      to =" /homepage/profile" 
3753      replace 
3854      @click.native.prevent =" itemDidClicked(3)" 
3955    >
40-       <img  class =" mh-tab-icon" :src =" getProfileImage" alt  />
56+       <span  class =" mh-tab-icon-box" 
57+         <img  class =" mh-tab-icon" :src =" getProfileImage" alt  />
58+         <span 
59+           v-show =" profile.show" 
60+           class =" weui-badge" 
61+           :class =" { 'weui-badge_dot': profile.dot }" 
62+           >{{ profile.text }}
63+         </span >
64+       </span >
4165      <span  class =" mh-tab-label" span >
4266    </router-link >
4367  </nav >
4468</template >
4569
4670<script >
71+ import  { mapState  } from  " vuex" 
4772export  default  {
73+   name:  " tab-bar"  
4874  data () { 
4975    return  { 
5076      //  初始化数据 
@@ -63,6 +89,11 @@ export default {
6389    this .selectedProfile  =  name ===  " profile" ?  1  :  0 ; 
6490  }, 
6591
92+   mounted () { 
93+     console .log (" 回答哈哈都是"  
94+     console .log (this .profile ); 
95+   }, 
96+ 
6697  methods:  { 
6798    //  按钮点击 
6899    itemDidClicked (index ) { 
@@ -92,12 +123,24 @@ export default {
92123      let  sel =  require (" ../../assets/images/tabBar/tabbar_meHL_23x23.png"  
93124      let  nor =  require (" ../../assets/images/tabBar/tabbar_me_23x23.png"  
94125      return  this .selectedProfile  ?  sel :  nor; 
95-     } 
126+     }, 
127+     ... mapState ({ 
128+       profile :  state  =>  state .badge .profile , 
129+       mainframe :  state  =>  state .badge .mainframe , 
130+       discover :  state  =>  state .badge .discover  
131+     }) 
96132  } 
97133}; 
98134script >
99135
100136<style  lang="scss" scoped>
137+ //  第三方样式
138+ .weui-badge  {
139+   position absolute ; 
140+   left 18px  ; 
141+   top -2px  ; 
142+ } 
143+ 
101144//  tabBar
102145.mh-tab-bar  {
103146  display -webkit-box ; 
@@ -117,7 +160,6 @@ export default {
117160//  该类名,解决 tabbar 点击无法切换的问题
118161.mh-tab-bar  .mh-tab-item  {
119162  flex auto ; 
120-   overflow hidden ; 
121163  height 49px  ; 
122164  text-align center ; 
123165  vertical-align middle ; 
@@ -151,23 +193,4 @@ export default {
151193  display inline-block ; 
152194  text-overflow ellipsis ; 
153195} 
154- 
155- .mh-tab-bar  .mh-tab-item  .mh-tab-icon-box  .mh-tab-badge  {
156-   position absolute ; 
157-   display inline-block ; 
158-   top -2px  ; 
159-   left 100%  ; 
160-   margin-left -5px  ; 
161-   min-width 8px  ; 
162-   font-size 12px  ; //  谷歌最小字体 12px 
163-   line-height 1 ; 
164-   border-radius 12px  ; 
165-   padding 3px   5px  ; 
166-   color #fff ; 
167-   background-color red ; 
168-   -webkit-transform-origin 0  0 ; 
169-   transform-origin 0  0 ; 
170-   -webkit-transform scale (0.5 ); 
171-   transform scale (0.8 ); 
172- } 
173196style >
0 commit comments