vue 路由配置

11.2 新增问题:

函数触发路由,采用两种方式。第一种router-link。第二种this.$router.push({path:‘/address‘})

两种方式都可以跳转,但是第二种方式,触发后,原先绑定的CSS样式,无法通过 false 来取消。

然后吃完饭回来,我就发现我傻了,我是通过点击来触发事件,点击后,页面都跑了,我当然看不到样式改变啊。

所以老老实实用 router-link吧。

<router-link> 比起写死的 <a href="..."> 会好一些,理由如下:

  • 无论是 HTML5 history 模式还是 hash 模式,它的表现行为一致,所以,当你要切换路由模式,或者在 IE9 降级使用 hash 模式,无须作任何变动。
  • 在 HTML5 history 模式下,router-link 会守卫点击事件,让浏览器不再重新加载页面。(默认是hash模式)
  • 当你在 HTML5 history 模式下使用 base 选项之后,所有的 to 属性都不需要写(基路径)了。

如何理解第二点和第三点?具体是什么样的?

HTML:

            <b :class="{‘disabled‘: isActive}" >
                <router-link :to="toLink(calTotalAmount)">
                    <span>结算(&nbsp;{{calTotalAmount}}&nbsp;)</span>
                </router-link>
            </b>

JS:

            toLink : function(fn) {
                var href = ‘‘
                if (fn > 0) {
                    console.log(‘可以跳转‘)
                    this.isActive = false
//                    this.$router.push({path:‘/address‘})
                    href          = ‘/address‘
                } else {
                    this.isActive = true
                }
                return href
            }

------------------------- 以下是原文 ------------------------

今天准备细细捋一遍vue + webpack 项目的路由配置。

项目背景:

1. v-cli 脚手架搭建

2. 基于webpack

项目的src目录结构如下:

下面来捋一遍步骤

1. 新建一个page文件夹,创建 index.vue 文件,准备把这个页面作为项目 npm run dev后的默认显示页。

2. 在router文件夹下的 index.js 配置路由。

import Vue from ‘vue‘
import Router from ‘vue-router‘
import Index from ‘@/page/index‘
import Address from ‘@/page/address‘
import Login from ‘@/components/login‘

Vue.use(Router) //这里别漏掉了

export default new Router({
    // mode:‘history‘, //去掉浏览器 url 的 # 号,但是跳转到别的页面时,还会有诶...http://localhost:8080/#/address
  routes: [
    {
      path: ‘/‘,
      component: Index
    },{
          path: ‘/address‘, //https://router.vuejs.org/zh-cn/essentials/dynamic-matching.html 动态路由匹配
          component: Address
      },
      { path: ‘/login‘, component: Login}
  ]
})

3. 回到index.vue。 index.vue,我好像啥都没干,这是默认页

下面说说用 这俩标签的方式:

<router-link to="/"></router-link>
<router-view></router-view>

注释: router-link标签渲染时会自动增加一个A标签带href路转。

   router-view标签是将路由过来的组件渲染在什么地方。(实际实验了下,感觉不太能理解。一会做下实验看看)

4. 在components 下创建一个login.vue 。

<template>
    <div>
        <h1>i‘m login, i‘m not ready</h1>
        <h2>随便写点什么</h2>
    </div>
</template>
<script>

</script>
<style>
</style>

回到index.vue,在需要的位置下添加这一行:

<router-link to="/login"><p>登录</p></router-link>

这是效果。

总结: 配置路由三部曲:

1. 新建 .vue 文件。

2. 在router - index.js 下 import 导入新建的.vue,再配置路径。

3. 在首页添加 <router-link to="/"></router-link> 标签

但是这里有一个小问题,我不想页面跳转。我希望这个登录页的内容,点击后,直接在默认页上出现。

新建一个项目试试看。

新建项目,按照以上方式建立两个 .vue,再在路由里配置,可以在本页出现,有点像点击切换效果...

估计和我那个项目某个配置有关。

时间: 2024-10-09 13:30:55

vue 路由配置的相关文章

vue路由配置

1.安装 npm install vue-router --save / cnpm install vue-router --save 2.引入并 Vue.use(VueRouter) (main.js) import VueRouter from 'vue-router' Vue.use(VueRouter) 3.配置路由 1.创建组件 引入组件 2.定义路由 (建议复制s) const routes = [ { path: '/foo', component: Foo }, { path:

vue 路由 以及默认路由跳转

https://router.vuejs.org/ vue路由配置: 1.安装 npm install vue-router --save / cnpm install vue-router --save 2.引入并 Vue.use(VueRouter) (main.js) import VueRouter from 'vue-router' Vue.use(VueRouter) 3.配置路由 1.创建组件 引入组件 2.定义路由 (建议复制s) const routes = [ { path:

三、vue如何配置路由 、获取路由的参数、部分刷新页面、缓存页面

1.路由配置:所有的启动文件都在最初始的main.js文件里面,这个文件中首先需要引入: 2.路由文件配置说明: 3.如何获取页面url的参数? this.$route.query 4.页面之间之间的跳转? 5.返回历史记录页面 6.在项目中遇到的问题: 如何做到页面的部分刷新,如果做到部分页面进入的时候需要刷新,部分页面需要缓存? 首选需要了解keep-alive,在路由配置中增加如下代码: { "path": "/test", "component&q

vue路由的两种模式配置以及history模式下面后端如何配置

vue路由的两种模式配置以及history模式下面后端如何配置 1.hash ——即地址栏URL中的#符号.hash 虽然出现URL中,但不会被包含在HTTP请求中,对后端完全没有影响,因此改变hash不会重新加载页面.2.history ——利用了HTML5 History Interface 中新增的pushState() 和replaceState() 方法.需要特定浏览器支持history模式,会出现404 的情况,需要后台配置.3.hash模式下,仅hash符号之前的内容会被包含在请求

vue 开发系列 路由配置

概要 用Vue.js + vue-router 创建单页应用,是非常简单的.使用Vue.js,我们已经可以通过组合组件来组成应用程序,当你要把vue-router 添加进来,我们需要做的是,将组件(componennts)映射到路由(routes) , 然后告诉vue-router在哪里渲染它们. 实现代码 1.在main.js 中引入 router. //main.js 引入router import router from './router/index' 2.在main.js 中使用rou

Vue路由重写# 与 Web服务器路由重写双配置实现路由重写

前言vue路由组件我使用的vue-routerweb服务器使用nginx Vue-router配置vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载http://localhost:8080/#/HelloWorld如果不想要很丑的 hash,可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面 const router

vue路由

ue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用.vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来.传统的页面应用,是用一些超链接来实现页面切换和跳转的.在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换. 本文将以示例的形式来介绍vue-router的各个特性,一共包含6个示例,每个示例都有乞丐版,前5个示例有皇帝版.乞丐版是将所有代码混杂在一起的HTML页面,皇帝版是基于vue-web

初印象至Vue路由

初印象系列为快速了解一门技术的内容,后续会推出本人应用这门技术时发现的一些认识. Vue路由和传统路由的区别: Vue路由主要是用来实现单页面应用内各个组件之间的切换,同样支持传递参数等功能.而传统路由使用超链接 以下内容来自官网,js使用ES6 如何在vue项目中使用vue-router HTML <script src="https://unpkg.com/vue/dist/vue.js"></script> <script src="htt

Vue - 路由传递参数

Vue 2.0  路由传递参数 Vue 路由传递参数 有两种方式: 一.用name传递参数 两步完成用name传值并显示在模板里: 在路由文件src/router/index.js里配置name属性. 1 2 3 4 5 6 7 routes: [ { path: '/', name: 'Hello', component: Hello } ] 模板里(src/App.vue)用$router.name的形势接收,比如直接在模板中显示: 1 <p>{{ $route.name}}</p&