vue学习记录 coderwhy d10
Posted Kooklen_xh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue学习记录 coderwhy d10相关的知识,希望对你有一定的参考价值。
tabbar-item
<template>
<div class="tab-bar-item">
<div v-if="!isActive"><slot name="item-icon"></slot></div>
<div v-else="isActive"><slot name="item-icon-act"></slot></div>
<div v-bind:class="isSelect:isActive"><slot name="item-text"></slot></div>
</div>
</template>
<script>
export default
name: "TabBarItem",
data()
return
isActive:true
</script>
<style scoped>
*
padding: 0;
margin: 0;
.tab-bar-item
flex: 1;
text-align: center;
height: 49px;
background-color: #f6f6f6;
font-size: 14px;
margin-top: 3px;
vertical-align: middle;
.isSelect
color: red;
</style>
最后
app.vue
在这里插入代码片
<template>
<div id="app">
<router-view></router-view>
<tab-bar>
<tab-bar-item path="/index" activeColor="red">
<img slot="item-icon" src="./assets/img/tabbar/indexactive.png" height="20" width="20">
<img slot="item-icon-act" src="./assets/img/tabbar/index.png" height="20" width="20">
<div slot="item-text">主页</div>
</tab-bar-item>
<tab-bar-item path="/category" activeColor="red">
<img slot="item-icon" src="./assets/img/tabbar/Category2.png" height="20" width="20">
<img slot="item-icon-act" src="./assets/img/tabbar/category.png" height="20" width="20">
<div slot="item-text">分类</div>
</tab-bar-item>
<tab-bar-item path="/cart" activeColor="red">
<img slot="item-icon" src="./assets/img/tabbar/shop-cart-.png" height="20" width="20">
<img slot="item-icon-act" src="./assets/img/tabbar/shop-cart-3.png" height="20" width="20">
<div slot="item-text">购物车</div>
</tab-bar-item>
<tab-bar-item path="/home" activeColor="red">
<img slot="item-icon" src="./assets/img/tabbar/Profile_1.png" height="20" width="20">
<img slot="item-icon-act" src="./assets/img/tabbar/Profile.png" height="20" width="20">
<div slot="item-text">我的</div>
</tab-bar-item>
</tab-bar>
</div>
</template>
<script>
import TabBar from "./components/tabbar/TabBar";
import TabBarItem from "./components/tabbar/TabBarItem";
export default
name: 'App',
components:
TabBar,
TabBarItem
,
data()
return
,
methods:
</script>
<style >
</style>
tabbaritem.vue
<template>
<div class="tab-bar-item" @click="itemclick">
<div v-if="!isActive"><slot name="item-icon"></slot></div>
<div v-else><slot name="item-icon-act"></slot></div>
<!-- <div v-bind:class="isSelect:isActive"><slot name="item-text"></slot></div>-->
<div :style="activeStyle"><slot name="item-text"></slot></div>
</div>
</template>
<script>
export default
name: "TabBarItem",
props:
path:String
,
methods:
itemclick()
this.$router.push(this.path)
,
computed:
isActive()
return this.$route.path.indexOf(this.path) !== -1
,
activeStyle()
return this.isActive ? color:this.activeColor :
,
data()
return
</script>
<style scoped>
*
padding: 0;
margin: 0;
.tab-bar-item
flex: 1;
text-align: center;
height: 49px;
background-color: #f6f6f6;
font-size: 14px;
margin-top: 3px;
vertical-align: middle;
.activeColor
color: red;
</style>
index.js
import Vue from 'vue'
import Router from 'vue-router'
const home = () => import('../views/home/home')
const index = () => import('../views/index/index')
const cart = () => import('../views/cart/cart')
const category = () => import('../views/category/category')
Vue.use(Router)
const routes = [
path:'',
redirect:'/home'
,
path:'/home',
component:home
,
path:'/index',
component:index
,
path:'/cart',
component:cart
,
path:'/category',
component:category
,
]
const router = new Router(
routes,
mode:"history"
)
export default router
以上是关于vue学习记录 coderwhy d10的主要内容,如果未能解决你的问题,请参考以下文章