使用component实现一个页面间切换

<!DOCTYPE html >
< html lang= "en" >
< head >
< meta charset= "UTF-8" >
< meta name= "viewport" content= "width=device-width, initial-scale=1.0" >
< meta http-equiv= "X-UA-Compatible" content= "ie=edge" >
< title >Document </ title >
< script src= "./vue2.js" ></ script >
</ head >
< body >
< div id= "app" >
< home ></ home >
</ div >
< template id= "id" >
< div >
< a href= "javascript:void(0);" @ click= "componentId='login'" >登录 </ a >
< a href= "javascript:void(0);" @ click= "componentId='resign'" >注册 </ a >
< component : is= "componentId" ></ component >
</ div >
</ template >
</ body >
< script >
// 注册定义组件
Vue. component( "home",{
template: "#id",
data : function(){
return{
// 默认为login
componentId: "login"
}
},
components:{
// 子组件
'login' :{
template: "<div>登录</div>",
},
'resign' : {
template: "<div>注册</div>",
},
}
})
// 实例化vue对象(
new Vue({
el: '#app',
data:{
},
methods:{
}
})
< / script >
</ html >

<!-- component的缺点 -->
<!-- 1.不能进行传值
2.刷新之后会重置
3.只能在一个页面进行切换 -->
在Vue.js中,使用Vue Router实现Tab页面切换通常涉及到以下几个步骤: 1. 安装和引入Vue Router:首先需要安装Vue Router,通过npm或yarn命令添加到项目依赖中,然后在入口文件(如main.js)中导入并创建实例。 ```bash npm install vue-router ``` ```javascript import Vue from 'vue'; import Router from 'vue-router'; Vue.use(Router); ``` 2. 创建路由配置:定义每个Tab对应的组件路径和名称,以及它们之的关系。例如,如果你有三个Tab页(首页、详情页和设置页),可以这样配置: ```javascript const routes = [ { path: '/home', name: 'Home', component: HomeComponent, }, { path: '/details', name: 'Details', component: DetailsComponent, }, { path: '/settings', name: 'Settings', component: SettingsComponent, } ]; ``` 3. 设置默认路由:在Vue Router的实例初始化时,你可以指定初始加载的页面。 ```javascript const router = new Router({ routes, mode: 'history' // 如果你的应用部署在支持HTML5 History API的环境中 }); router.push('/home'); // 默认打开首页 ``` 4. 在Vue组件中使用导航守卫:可以使用`beforeRouteEnter`或`beforeRouteUpdate`等导航守卫,在切换Tab之前或之后执行一些操作,比如数据预加载。 5. 使用Vue组件内的导航链接:在各个组件的模板中,使用`router-link`标签来导航到其他路由: ```html <router-link :to="{name: 'Home'}">首页</router-link> ``` 6. Tab切换的UI逻辑:你可以使用Vue的响应式特性来监听当前路由的变化,当路由改变时更新对应的组件内容显示。 使用上述方法,用户就可以通过点击Tab按钮在不同的页面平滑切换了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值