02_weex之底部导航栏

1、先创建子组件 tabFooter

  <template>
    <div class="footer-tab">
        <div class="footer-tab-item" @click="tabTo('home')">
            <text class="bar-text bar-ic iconfont" :class="[this.isActive('home')]">&#xe665;</text>
            <text class="bar-text" :class="[this.isActive('home')]">首页</text>
        </div>
        <div class="footer-tab-item" @click="tabTo('topic')">
            <text class="bar-text bar-ic iconfont" :class="[this.isActive('topic')]">&#xe69a;</text>
            <text class="bar-text" :class="[this.isActive('topic')]">专题</text>
        </div>
        <div class="footer-tab-item" @click="tabTo('class')">
            <text class="bar-text bar-ic iconfont" :class="[this.isActive('class')]">&#xe633;</text>
            <text class="bar-text" :class="[this.isActive('class')]">分类</text>
        </div>
        <div class="footer-tab-item" @click="tabTo('shop')">
            <text class="bar-text bar-ic iconfont" :class="[this.isActive('shop')]">&#xe600;</text>
            <text class="bar-text" :class="[this.isActive('shop')]">购物车</text>
        </div>
        <div class="footer-tab-item" @click="tabTo('my')">
            <text class="bar-text bar-ic iconfont" :class="[this.isActive('my')]">&#xe630;</text>
            <text class="bar-text" :class="[this.isActive('my')]">个人</text>
        </div>

    </div>
</template>

<script>
    exprot default{
     data(){
          pIndexKey:'home' , //默认选择首页
     },
    
     methods:{
          //判断当当前点击的 _c和pIndexKey相等时 加上isActive
          isActive(_c){
            return this.pIndexKey =  _c ? "isActive" : ""
        },
        //给父组件传值
       tabTo(_key){
                if(this.pIndexKey==_key) return _key;
                this.pIndexKey = _key
                this.$emit('tabTo',{
                    status:'tabTo',
                    data:{
                        key:_key
                    }
                })
              console.log(this.$router)
            }
      }

  }
</script>

<style>
    .iconfont {
        font-family:iconfont;
    }
    .footer-tab{
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100px;
        flex-direction: row;
        background-color: #ccc;
    }
    .footer-tab-item{
        flex: 1;
        align-items: center;
        justify-content: center;
    }
    .bar-ic{
        /* padding-top: 14px; */
        font-size: 38px;
        
    }
    .bar-text{
        padding-top: 4px;
        font-size: 24px;
    }
    .isActive{
        color:coral;
    }
</style>

2、父组件

  <template>
    <div>
     
       <v-footer-tab @tabTo="onTabTo"></v-footer-tab>
       <router-view></router-view>     <!-- 跳转页面必须加上 -->
    </div>
   
</template>

<script>
import tabFooter from './components/footer/tabFooter';
import util from './components/util';
export default {
  name: 'App',
  components:{
    'v-footer-tab':tabFooter
  },
  data () {
    return {
     
    }
  },
  created(){
     util.initIconfont();
  },
  methods:{
    onTabTo(_result){
      console.log(this.$router.push,111)
       this.$router.push('/'+_result.data.key)
      
       
    }
  }
}
</script>

<style scoped>
  .isActive{
    color:red !important;
  }
</style>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 您将在本文当中了解到,往网页中添加数据,从传统的dom操作过渡到数据层操作,实现同一个目标,两种不同的方式....
    itclanCoder阅读 26,125评论 1 12
  • 今天是2018年3月8号,今天收到儿子给我的一封信,看了之后好开心~也好感动!也让我发现了对孩子的亏欠!忽略了孩子...
    左手等你牵阅读 1,270评论 0 0
  • 生活中有一种调味剂叫酒吧,它可使平日里匆忙的节奏变的不再淡而无味,在这个像是压缩饼干的空间里,姿态会放大、情绪会放...
    木子靜宇阅读 1,778评论 20 0
  • 虽然是奇幻小说,却有别于同类小说中“剑与魔法”的设定,作者严格参照了中世纪欧洲黑暗时代的世界观,描绘了在一个统治分...
    吴蜀魏阅读 1,778评论 0 0

友情链接更多精彩内容