vue项目没有router文件夹_Vue路由(vue-router)配置实战——动态路由,重定向,工程非根目录...

1. 前言

(1) 资料

(2) 需求

本文是在上篇《使用vue-i18n实现多语言》功能的引申。需要实现的功能如下:

多语言需要反映在url上,英文、简体中文、繁体中文页面需分别为/en、/zhCHS、/zhCHT

页面切换后,也能记住上页中选择的语言

在页面中先切换语言再刷新,也显示之前选择的语言

应用的基路径不在根目录下,而是多一级/snycard2018

如果用户load的页面是根目录,要自动定位到正确目录下并以英文作为默认语言

(3) 工程基本情况

[1] vue-router的安装

在Vue init时有选项:[Install vue-router?]。如果选择了yes,会自动安装vue-router。如果没有安装,可以用如下命令进行安装:

npm install vue-router

完成后,工程src目录下有router的文件夹,里面的index.js用来设置路由。

[2] 结构设计

如下图,语言选择的部分,由于所有页面都用,所以在Header.vue中。通过router来切换home页与about页。

2. 实战

(1) 动态路由

在这一小节中解决的问题是:

如何让localhost:8080/en、localhost:8080/zhCHS、localhost:8080/zhCHT都指向Home.vue这个component;而localhost:8080/en/about(其他两种语言略)指向About.vue

如何使用路由进行传参,让页面加载时知道url上面带的是哪种语言

[1] 动态路径参数设置

动态路径参数,以冒号开头。如下router文件夹下的index.js中的配置。根目录下的二级名称就作为lang参数的值。

//index.js

import Vue from 'vue'

import Router from 'vue-router'

import Home from '@/page/home/home'

import About from '@/page/about/about'

Vue.use(Router)

export default new Router({

mode: 'history',

routes: [

{

path: '/:lang', //

component: Home,

},

{

path: '/:lang/about',//

component: About

}

]

})

[2]获取动态路由参数值

以下代码都在App.vue进行修改。

1) DOM中

<
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你可以按照以下步骤来安装和配置vue-router: 1. 打开终端或命令提示符,进入项目根目录。 2. 运行以下命令来安装vue-router: ``` npm install vue-router --save ``` 这个命令会在项目中安装vue-router并将其添加到package.json文件中。 3. 创建一个新的目录 `src/router`,并在其中创建一个名为`index.js`的文件。 4. 在`index.js`中,首先导入VueVueRouter: ```javascript import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) ``` 5. 然后导入路由文件`router.js`,并在`index.js`中配置路由: ```javascript import routes from './sre/router' const router = new VueRouter({ mode: 'history', routes }) export default router ``` 在上面的代码中,我们使用`import`语句导入了路由文件,并使用`VueRouter`创建了一个新的路由实例。我们通过配置`mode`属性来指定路由模式,这里我们使用`history`模式。最后,我们将路由实例导出,以便在Vue中使用。 6. 在Vue实例中引入路由,在`main.js`中添加以下代码: ```javascript import router from './router' new Vue({ router, render: h => h(App) }).$mount('#app') ``` 在上面的代码中,我们使用`import`语句导入路由实例,并将其作为Vue实例的`router`选项传递。这样,我们就可以在Vue组件中使用路由功能了。 7. 最后,在需要使用路由的组件中,例如`App.vue`,添加`<router-view></router-view>`标签,这是路由组件的占位符。 ```html <template> <div id="app"> <router-view></router-view> </div> </template> ``` 这样,我们就完成了vue-router的安装和配置,并可以在Vue项目中使用路由功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值