vue学习记录 coderwhy d9
Posted Kooklen_xh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue学习记录 coderwhy d9相关的知识,希望对你有一定的参考价值。
$this.router = router
$this,route是当前处于活跃的路由
观察者模式。一对多,一个是改了的data,多是更新数据
导航守卫
path:'/About',
component: About,
beforeEnter:(to,from,next)=>
console.log('About beforeEnter')
导航守卫配置:
beforeRouteEnter(to,from,next)
// document.title = to.meta
next(false)
import Vue from 'vue'
import Router from 'vue-router'
// import HelloWorld from '@/components/HelloWorld'
// import Home from "../components/Home";
// import About from "../components/About";
// import User from "../components/User";
const Home=()=>import('../components/Home');
const About=()=>import('../components/About');
const User=()=>import('../components/User');
const HomeNews=()=>import('../components/HomeNews');
const HomeMessage=()=>import('../components/HomeMessage');
// const HelloWorld=()=>import('../components/HelloWorld');
Vue.use(Router)
const routes= [
path:'',
redirect: '/Home'
,
path: '/Home',
component: Home,
meta:"Home",
children:[
path:'news',
component:HomeNews,
meta:"news",
,
path:'message',
component:HomeMessage,
meta:"message",
]
,
path:'/About',
component: About,
meta:"About",
beforeEnter:(to,from,next)=>
console.log('About beforeEnter')
next()
,
path: '/User/:userId',
component: User
]
// mode:'history'
const router = new Router(
routes,
mode:'history'
)
router.beforeEach((to,from,next)=>
document.title = to.meta;
next()
)
export default router;
<keep-alive><router-view></router-view>
</keep-alive>
tabbar
<template>
<div id="tab-bar">
<div class="tab-bar-item">首页</div>
<div class="tab-bar-item">分类</div>
<div class="tab-bar-item">购物车</div>
<div class="tab-bar-item">我的</div>
</div>
</template>
<script>
export default
name: "TabBar"
</script>
<style scoped>
*
padding: 0;
margin: 0;
#tab-bar
display: flex;
position: fixed;
left: 0;
right: 0;
bottom: 0;
box-shadow: 0px -1px 1px rgba(100,100,100,0.2);
.tab-bar-item
flex: 1;
text-align: center;
height: 49px;
background-color: #f6f6f6;
</style>
App.vue
<template>
<div id="app">
<tab-bar>
<tab-bar-item>
<img slot="item-icon" src="./assets/img/tabbar/indexactive.png" height="20" width="20">
<div slot="item-text">主页</div>
</tab-bar-item>
<tab-bar-item><img slot="item-icon" src="./assets/img/tabbar/Category2.png" height="20" width="20">
<div slot="item-text">分类</div>
</tab-bar-item>
<tab-bar-item><img slot="item-icon" src="./assets/img/tabbar/shop-cart-.png" height="20" width="20">
<div slot="item-text">购物车</div></tab-bar-item>
<tab-bar-item><img slot="item-icon" src="./assets/img/tabbar/Profile_1.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
</script>
<style >
</style>
tabbaritem.vue
<template>
<div class="tab-bar-item">
<slot name="item-icon"></slot>
<slot name="item-text"></slot>
</div>
</template>
<script>
export default
name: "TabBarItem"
</script>
<style scoped>
*
padding: 0;
margin: 0;
.tab-bar
height: 49px;
display: flex;
position: fixed;
left: 0;
right: 0;
bottom: 0;
box-shadow: 0px -1px 1px rgba(100,100,100,0.2);
.tab-bar-item
flex: 1;
text-align: center;
height: 49px;
background-color: #f6f6f6;
font-size: 14px;
margin-top: 3px;
vertical-align: middle;
</style>
tabbar.vue
<template>
<div id="tab-bar">
<slot></slot> </div>
</template>
<script>
export default
name: "TabBar"
</script>
<style scoped>
#tab-bar
height: 49px;
display: flex;
position: fixed;
left: 0;
right: 0;
bottom: 0;
box-shadow: 0px -1px 1px rgba(100,100,100,0.2);
</style>
以上是关于vue学习记录 coderwhy d9的主要内容,如果未能解决你的问题,请参考以下文章