当前位置: 首页 > news >正文

对比的网站建设嘉兴快速建站合作

对比的网站建设,嘉兴快速建站合作,龙岩上杭,做网站空间重要还是程序重要VueRouter的简介 VueRouter是官方的路由插件,适合单页面应用/网页的切换。VueRouter目前有3.x版本和4.x版本,3.x版本只能结合vue2使用,4.x版本只能结合vue3使用。安装:npm install vue-router3 目的 初始版本:我们想…

VueRouter的简介

  • VueRouter是官方的路由插件,适合单页面应用/网页的切换。
  • VueRouter目前有3.x版本和4.x版本,3.x版本只能结合vue2使用,4.x版本只能结合vue3使用。
  • 安装:npm install vue-router@3

目的

初始版本:我们想实现的效果为:有三个组件Discover.vue、Friends.vue、My.vue,通过vuerouter来切换并管理。

进阶版本:我们想实现的效果为:有五个组件Discover.vue、Friends.vue、My.vue、TopList.vue、PlayList.vue,其中TopList.vue、PlayList.vue是Discover.vue下的子组件。同时My页面,根据不同的id值,可以请求到不同的商品数据。

初始版本的代码

Discover.vue

<template><div><h1>发现音乐</h1></div>
</template>

Friends.vue

<template><div><h1>关注</h1></div>
</template>

My.vue

<template><div><h1>我的音乐</h1></div>
</template>

新建router目录,在目录下新建index.js

import VueRouter from "vue-router";
import Vue from "vue";
import Discover from '@/components/Discover.vue'
import Friends from '@/components/Friends.vue'
import My from '@/components/My.vue'Vue.use(VueRouter)const router = new VueRouter({routes: [// 当用户访问/时,跳转到/discover{ path: '/', redirect: '/discover' },{ path: '/', redirect: '/discover' , component: Discover},{ path: '/discover/friends', component: Friends },{ path: '/discover/my', component: My},]
})export default router

main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
// 如果router目录下是index.js,那么可以省略,如果是其他名字
//譬如是a.js,那么就要写import router from './router/a.js'Vue.config.productionTip = falsenew Vue({render: h => h(App),router// 原本的写法是router: router,但是因为名称一致,所以可以省略
}).$mount('#app')

App.vue

<template><div id="app"><!-- 声明路由链接 --><router-link to="/discover">发现音乐</router-link><router-link to="/my">我的音乐</router-link><router-link to="/friends">关注</router-link><!-- 声明路由占位标签 --><router-view></router-view></div>
</template>

进阶版本的代码(动态路由)

Discover.vue

<template><div><h1>发现音乐</h1><router-link to="/discover/toplist">推荐</router-link><router-link to="/discover/playlist">歌单</router-link><hr><router-view></router-view></div>
</template>

Friends.vue

<template><div><h1>关注</h1></div>
</template>

My.vue

<template><div><h1>我的音乐</h1><router-link to="/my/1">商品1</router-link><router-link to="/my/2">商品2</router-link><router-link to="/my/3">商品3</router-link><router-view></router-view></div>
</template>

PlayList.vue

<template><h3>歌单</h3>
</template>

Product.vue

<template><h3>商品{{ id }}</h3>
</template><script>
export default {props: ['id']
}</script>

TopList.vue

<template><h3>推荐</h3>
</template>

index.js

import VueRouter from "vue-router";
import Vue from "vue";
import Discover from '@/components/Discover.vue'
import Friends from '@/components/Friends.vue'
import My from '@/components/My.vue'
import TopList from '@/components/TopList.vue'
import PlayList from '@/components/PlayList.vue'
import Product from '@/components/Product.vue'Vue.use(VueRouter)const router = new VueRouter({routes: [{ path: '/', redirect: '/discover' },{path: '/discover',component: Discover,children: [{ path: 'toplist', component: TopList },{ path: 'playlist', component: PlayList },]},// { path: '/discover/toplist', component: TopList },// { path: '/discover/playlist', component: PlayList },{ path: '/friends', component: Friends },{path: '/my',component: My,children: [{ path: ':id', component: Product, props: true }]},]
})export default router

App.vue和main.js不变

导航守卫

全局导航守卫会拦截每个路由规则,有点类似后端的全局拦截器。
我们可以使用router.beforeEach注册一个全局前置守卫

router.beforeEach((to, from, next)=>{if(to.path==='/main'&&!isAuthenticated){next('/login')}else{next()}
})

to:即将进入的目标
from:当前导航正要离开的路由
注意:在守卫方法中如果声明了next形参,则必须调用next()函数,否则不允许用户访问任何一个路由。

  • 直接放行:next()
  • 强制停在当前页面:next(false)
  • 强制跳转到登陆页面:next(‘/login’)
http://www.yayakq.cn/news/150531/

相关文章:

  • 做静态网站有什么用陕西有色建设有限公司网站
  • 合肥做微网站做网站制作较好的公司
  • 昆山专业简历制作网站办公用品网站建设策划书
  • 重庆网站建设制作公司大宅别墅设计装修公司
  • 泰安网站销售公司包头网络
  • c2c网站建设需求分析wordpress主题免费和付费
  • 漯河网站建设茂睿科技wordpress php版本要求
  • 手机上传视频网站开发百度快速优化推广
  • 大连网站制作.networdpress的ssl
  • 网站会员整合吃什么补肾气效果好
  • 贵州省建设项目验收备案网站凡客t恤
  • 惠州网站制作策划建设网站书籍pdf下载
  • 建设银行网站打不开别的网站可以做ppt模板网站有哪些内容
  • 咚咚抢网站怎么做的wordpress后台修改文章浏览数
  • 云脑网络科技网站建设项目建议书
  • 常德网站建设套餐报价营销型网站建设策划
  • 济南网站建设工资金融网站设计方向
  • 网站搭建服务器需要多少钱中国建设网官方网站企业
  • 泉州网站建设维护制作网页按钮
  • dede采集规则下载网站学校教育培训机构
  • 网站建设北京公司济南网站建设哪家强 资海
  • 网络营销基础 网站策划与网上营销做淘宝网站多少钱
  • 商务网站的推广百度网站前面的图片
  • 温州专业手机网站制作哪家便宜做影视网站违法不
  • 徐州网站开发设计平台下载企业微信最新版
  • 广州网站改版哪家好没有安装 wordpress
  • 利用cms怎么做网站深圳室内设计网
  • 网站界面模板下载成都网站建设 雷
  • 加快网站打开速度网站设计太原
  • 上海装修公司网站建设相同网站名