Vue路由的使用和route-link router-view样式和动画的设置
什么是路由
后端路由:**对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源;
前端路由:**对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关的内容;所以,单页面程序中的页面跳转主要用hash实现;
在单页面应用程序中,这种通过hash改变来切换页面的方式,称作前端路由(区别于后端路由);
<!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>
<!-- 必须先导入Vue -->
<script src="./lib/vue-2.4.0.js"></script>
<!-- 在导入router包 -->
<script src="./lib/vue-router-3.0.1.js"></script>
</head>
<body>
<div id="app">
<!-- <a href="#/log">登录</a>
<a href="#/zhuce">注册</a> --> <!-- router-link 也是router提供的标签,用来监听URL 不用写#号,默认渲染为一个a 标签 -->
<router-link to="/log" tag="span">登录</router-link>
<router-link to="/zhuce">注册</router-link>
<!-- VueRouter提供的元素标签,用来切换路由组件的显示的 -->
<!-- 这是 vue-router 提供的元素,专门用来 当作占位符的,将来,路由规则,匹配到的组件,就会展示到这个 router-view 中去 -->
<!-- 所以: 我们可以把 router-view 认为是一个占位符 -->
<router-view></router-view>
</div> <script>
// 组件模板对象,以后定义组件都这么用 别使用template 那个不是组件模板对象
var log={
template:"<h1>登录界面</h1>"
}
var zhuce={
template:"<h1>注册界面</h1>"
} // 路由实例
var vuerouterobj=new VueRouter({
// route // 这个配置对象中的 route 表示 【路由匹配规则】 的意思
routes: [// 路由匹配规则
// 每个路由规则,都是一个对象,这个规则对象,身上,有两个必须的属性:
// 属性1 是 path, 表示监听 哪个路由链接地址;
// 属性2 是 component, 表示,如果 路由是前面匹配到的 path ,则展示 component 属性对应的那个组件
// 注意: component 的属性值,必须是一个 组件的模板对象, 不能是 组件的引用名称;
// { path: '/', component: login },
{path:'/',redirect:'/log'},// 这里的 redirect path是根路径的时候,页面重定向到登录界面
{path:'/log',component:log},
{path:'/zhuce',component:zhuce},
]
}) // Vue实例
var vm=new Vue({
el:'#app',
data:{},
methods: { }, // 引用路由实例
router:vuerouterobj // 将路由规则对象,注册到 vm 实例上,用来监听 URL 地址的变化,然后展示对应的组件
}) </script>
</body>
</html>
Vue-link 和vue-view 添加样式和动画
<!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>
<!-- 必须先导入Vue -->
<script src="./lib/vue-2.4.0.js"></script>
<!-- 在导入router包 -->
<script src="./lib/vue-router-3.0.1.js"></script>
</head>
<body> <style> /* 给route-link 元素添加样式 */
/* .router-link-active{
font-size: 30px;
font-weight: 800;
color: red;
} */ .mystyle{
font-size: 30px;
font-weight: 800;
color: red;
} .v-enter,.v-leave-to{
opacity: 0;
transform: translate(0,200px)
}
.v-enter-active,.v-leave-active{
transition: all .4s ease-in-out;
} </style>
<div id="app">
<!-- <a href="#/log">登录</a>
<a href="#/zhuce">注册</a> --> <!-- router-link 也是router提供的标签,用来监听URL 不用写#号,默认渲染为一个a 标签 -->
<router-link to="/log" tag="span">登录</router-link>
<router-link to="/zhuce">注册</router-link>
<!-- VueRouter提供的元素标签,用来切换路由组件的显示的 -->
<!-- 这是 vue-router 提供的元素,专门用来 当作占位符的,将来,路由规则,匹配到的组件,就会展示到这个 router-view 中去 -->
<!-- 所以: 我们可以把 router-view 认为是一个占位符 -->
<transition mode="out-in"> <!--给route-view 添加动画 必须要使用transition 标签包裹 并设置模式先出后进-->>
<router-view></router-view>
</transition> </div> <script>
// 组件模板对象,以后定义组件都这么用 别使用template 那个不是组件模板对象
var log={
template:"<h1>登录界面</h1>"
}
var zhuce={
template:"<h1>注册界面</h1>"
} // 路由实例
var vuerouterobj=new VueRouter({
// route // 这个配置对象中的 route 表示 【路由匹配规则】 的意思
routes: [// 路由匹配规则
// 每个路由规则,都是一个对象,这个规则对象,身上,有两个必须的属性:
// 属性1 是 path, 表示监听 哪个路由链接地址;
// 属性2 是 component, 表示,如果 路由是前面匹配到的 path ,则展示 component 属性对应的那个组件
// 注意: component 的属性值,必须是一个 组件的模板对象, 不能是 组件的引用名称;
// { path: '/', component: login },
{path:'/',redirect:'/log'},// 这里的 redirect path是根路径的时候,页面重定向到登录界面
{path:'/log',component:log},
{path:'/zhuce',component:zhuce},
],
// 使用router-link切换组件的时候,默认会给router-link添加上一个类为 router-link-active 一个类名
// 我们可以使用这个类名来添加样式,或者使用linkActiveClass 修改这个类名(可以修改bootstrapt的类型哦)
linkActiveClass:"mystyle"
}) // Vue实例
var vm=new Vue({
el:'#app',
data:{},
methods: { }, // 引用路由实例
router:vuerouterobj // 将路由规则对象,注册到 vm 实例上,用来监听 URL 地址的变化,然后展示对应的组件
}) </script>
</body>
</html>
Vue路由的使用和route-link router-view样式和动画的设置的更多相关文章
- vue路由中 Navigating to current location ("/router") is not allowed
报错原因:多次点击同一路由,导致路由被多次添加 解决方法: router/index中添加以下代码: //router/index.js Vue.use(VueRouter) //导入vue路由 co ...
- Vue路由模块化的实现方法
分享一个Vue路由模块化方法,简单实用,好用到飞起 路由模块化 1.router/index.js 配置路由 import Vue from 'vue' import VueRouter from ' ...
- react router @4 和 vue路由 详解(全)
react router @4 和 vue路由 本文大纲: 1.vue路由基础和使用 2.react-router @4用法 3.什么是包容性路由?什么是排他性路由? 4.react路由有两个重要的属 ...
- react router @4 和 vue路由 详解(八)vue路由守卫
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 13.vue路由守卫 a.beforeEach 全局守卫 (每个路由调用前都会触发,根据 ...
- react router @4 和 vue路由 详解(一)vue路由基础和使用
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 1.vue路由基础和使用 a.大概目录 我这里建了一个router文件夹,文件夹下有in ...
- 六、vue路由Vue Router
一.基本概念 route, routes, router 1, route,它是一条路由,由这个英文单词也可以看出来,它是单数, Home按钮 => home内容, 这是一条route, a ...
- 「vue基础」一篇浅显易懂的 Vue 路由使用指南( Vue Router 上)
大家好,今天的内容,我将和大家一起聊聊 Vue 路由相关的知识,如果你以前做过服务端相关的开发,那你一定会对程序的URL结构有所了解,我没记错的话也是路由映射的概念,需要进行配置. 其实前端这些框架的 ...
- vue路由登录拦截(vue router登录权限控制)
实现原理: 哪些路由需要验证需要在路由文件router/index.js中指定: { path: '/', component: Home, name: 'Home', iconCls: 'fa fa ...
- Dynamic Route Matching Vue路由(1)
Dynamic Route Matching 动态的 路由 匹配 Very often we will need to map routes with the given pattern to the ...
随机推荐
- doris: shell invoke .sql script for doris and passing values for parameters in sql script.
1. background in most cases, we want to execute sql script in doris routinely. using azkaban, to l ...
- WAV相关:从PCM16 Little Endian数据转WAV文件
数据格式 [0.0, -0.0, -0.0, 0.0, 0.0, 0.0, 5.960464477539063e-08, 5.960464477539063e-08, 1.19209289550781 ...
- Top 10 Machine Learning Algorithms For Beginners
Linear Regression Logistic regression KNN Classification Support Vector Machine (SVM) Decision Trees ...
- 用easymock来mock数据
昨天学习微信小程序了解了一个模拟数据的工具EasyMock,一早到公司就使用试试. 1.创建项目: 创建好如下所示: 2.创建接口: 点击右下角+号按钮即可. 操作栏依次是:预览,编辑,链接,更多操作 ...
- Java以UTF-8格式读写及追加写文件示例
package test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; im ...
- k8s调度器之亲和性和反亲和性/节点选择器
容器在节点(物理机)上是如何部署的 是由调度器scheduler进行调度的 调度策略 随机 通过节点选择器选择某些节点 通过节点亲和性和pod的亲和性及反亲和性实现更细粒度的控制 参考 https:/ ...
- Linux终极shell-zsh的完美配置方案!——oh-my-zsh
Zsh 介绍 Zsh 兼容 Bash,据传说 99% 的 Bash 操作 和 Zsh 是相同的 Zsh 官网:http://www.zsh.org/ 先看下你的 Linux支持哪些 shell:cat ...
- VueX(vue状态管理)简单小实例
VueX:状态管理 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 核心模块:State. ...
- Centos 更改MySQL5.7数据库目录位置
原文地址:https://blog.csdn.net/zyw_java/article/details/78512285 Centos7.3 安装Mysql5.7并修改初始密码 基于 CentOS M ...
- 开发规范——MYSQL数据库
数据库规范 这里主要针对mysql数据库,其他数据库也可以借鉴 表 1.统一使用表命名规范 表名规范:分层+项目名缩写+实体名(小写)[+下划线+实体名+rel] 例子 表名:bc_user 分层: ...