vue全家桶(2.2)
3.3.router-link配置
3.3.1.实例
需求:实现下面效果,点击不同的菜单,显示不同的文字

核心代码:App组件
<template>
<div id="app">
<div class='page'>
<ul>
<li><a href="#/">首页</a></li>
<li><a href="#/course">课程</a></li>
<li><a href="#/vip">会员</a></li>
<li><a href="#/question">问答</a></li>
</ul>
</div>
</div>
</template>
<script>
export default {
name: 'App',
components: {
}
}
</script>
<style scoped>
.page {
width: 100%;
background-color: black;
color: white;
text-align: center;
font-size: 20px;
height: 60px;
line-height: 60px;
}
ul, li {
margin: 0;
padding: 0;
}
ul {
margin-left: 200px;
overflow: hidden;
}
li {
list-style: none;
float: left;
}
li a{
padding: 20px 30px;
color: white;
font-size: 14px;
text-decoration: none;
}
li a:hover{
background-color: orangered
}
</style>
路由配置:index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '@/components/Home'
import Course from '@/components/Course'
import Question from '@/components/Question'
import Vip from '@/components/Vip'
// 让vue-router作为vue的插件使用
Vue.use(VueRouter)
// 配置路由信息
const router = new VueRouter({
routes: [
{
path: '/',
component: Home
},
{
path: '/course',
component: Course
},
{
path: '/vip',
component: Vip
},
{
path: '/question',
component: Question
}
]
})
export default router
3.3.2.使用router-link实现跳转
核心代码:App组件
<template>
<div id="app">
<div class="page">
<ul>
<li><router-link to="/">首页</router-link></li>
<li><router-link to="/course">课程</router-link></li>
<li><router-link to="/vip">会员</router-link></li>
<li><router-link to="/question">问答</router-link></li>
</ul>
</div>
</div>
</template>
<script type="text/ecmascript-6">
export default {
name: 'App',
components: {
}
}
</script>
<style scoped>
.page {
width: 100%;
background-color: black;
color: white;
text-align: center;
font-size: 20px;
height: 60px;
line-height: 60px;
}
ul, li {
margin: 0;
padding: 0;
}
ul {
margin-left: 200px;
overflow: hidden;
}
li {
list-style: none;
float: left;
}
li a{
padding: 20px 30px;
color: white;
font-size: 14px;
text-decoration: none;
}
li a:hover{
background-color: orangered
}
</style>
3.3.3.router-link的其他配置
1.可以动态绑定一个变量
核心代码
<template>
<div class="page">
<ul>
<li><router-link :to="index">首页</router-link></li>
<li><router-link :to="course">课程</router-link></li>
<li><router-link :to="vip">会员</router-link></li>
<li><router-link :to="question">问答</router-link></li>
</ul>
</div>
</template>
<script type="text/ecmascript-6">
export default {
data () {
return {
index: '/',
course: '/course',
vip: '/vip',
question: '/question'
}
}
}
</script>
2.默认router-link生成的是a标签,可以更改成其他标签, 使用tag来设置
<template>
<div id="app">
<div class="page">
<ul>
<li><router-link :to="index" tag="div">首页</router-link></li>
<li><router-link :to="course" tag="div">课程</router-link></li>
<li><router-link :to="vip" tag="div">会员</router-link></li>
<li><router-link :to="question" tag="div">问答</router-link></li>
</ul>
</div>
</div>
</template>
3.设置router-link的激活样式
第一种方式,在全局配置一个linkActiveClass
// 配置路由信息
const router = new VueRouter({
//设置激活样式
linkActiveClass: 'nav-active',
routes: [
{
path: '/',
component: Home
},
{
path: '/course',
component: Course
},
{
path: '/vip',
component: Vip
},
{
path: '/question',
component: Question
}
]
})
```js
第二种方式,直接在router-link上增加active-class
```js
<li><router-link :to="index" active-class="nav-active">首页</router-link></li>
4.设置渲染组件的公共样式,可以直接在router-view上增加class
<router-view class="center"></router-view>
5.可以更改切换的事件,默认是鼠标点击切换,通过设置event实现
<template>
<div id="app">
<div class="page">
<ul>
<li><router-link :to="index" active-class="nav-active" event="mouseover">首页</router-link></li>
<li><router-link :to="course" event="mouseover">课程</router-link></li>
<li><router-link :to="vip" event="mouseover">会员</router-link></li>
<li><router-link :to="question" event="mouseover">问答</router-link></li>
</ul>
</div>
</div>
</template>
螺钉课堂视频课程地址:http://edu.nodeing.com
vue全家桶(2.2)的更多相关文章
- 用 Vue 全家桶二次开发 V2EX 社区
一.开发背景 为了全面的熟悉Vue+Vue-router+Vuex+axios技术栈,结合V2EX的开放API开发了这个简洁版的V2EX. 在线预览 (为了实现跨域,直接npm run dev部署的, ...
- Vue全家桶
简介 “简单却不失优雅,小巧而不乏大匠”. Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计. 为什么 ...
- 从零开始系列之vue全家桶(3)安装使用vuex
什么是vuex? vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象. 即data中属性同时有一个或几个组件同时使用,就是data中共用的属性. ...
- 使用vue全家桶制作博客网站
前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue.vue-router.vuex.v ...
- 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程
使用vue全家桶制作博客网站 前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue. ...
- Vue全家桶介绍
一直不清楚全家桶是什么玩意,上网搜了一下,才知道就是平时项目中使用的几个依赖包,下面分享一下 Vue 全家桶介绍 Vue有著名的全家桶系列,包含了vue-router(http://router.vu ...
- 一个简单的假vue全家桶(vue+vue-router+require)
首先说明我觉得这是一个比较好理解的vue全家桶(虽然是假的),模块化也是用require来做的,而且如果后期有必要压缩我也会用gulp来做 1.依赖个个本地模块,require只是用来载入page,这 ...
- Vue 全家桶 + Electron 开发的一个跨三端的应用
代码地址如下:http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...
- Vue全家桶了解一下(待补充)
vue全家桶了解一下 一.vue+vue-router+vuex+axios1.vue:使用vue-cli,生成最基本的vue项目2.vue-router:vue项目中的路由管理插件3.vuex:vu ...
- 升级vue全家桶过程记录
背景 如果你使用了element-ui的el-tabs组件,并且想要单独升级element-ui至2.10.0,你会发现,使用了el-tabs组件的页面只要打开就卡死.原因是element-ui~2. ...
随机推荐
- SpringSecurity(1)---认证+授权代码实现
认证+授权代码实现 Spring Security是 一种基于 Spring AOP 和 Servlet 过滤器的安全框架.它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和 ...
- Java实现 LeetCode 775 全局倒置与局部倒置(分析题)
775. 全局倒置与局部倒置 数组 A 是 [0, 1, -, N - 1] 的一种排列,N 是数组 A 的长度.全局倒置指的是 i,j 满足 0 <= i < j < N 并且 A ...
- Java实现 LeetCode 747 至少是其他数字两倍的最大数(暴力)
747. 至少是其他数字两倍的最大数 在一个给定的数组nums中,总是存在一个最大元素 . 查找数组中的最大元素是否至少是数组中每个其他数字的两倍. 如果是,则返回最大元素的索引,否则返回-1. 示例 ...
- Java实现 蓝桥杯 算法训练 找零钱
试题 算法训练 找零钱 问题描述 有n个人正在饭堂排队买海北鸡饭.每份海北鸡饭要25元.奇怪的是,每个人手里只有一张钞票(每张钞票的面值为25.50.100元),而且饭堂阿姨一开始没有任何零钱.请问饭 ...
- Java实现 LeetCode 162 寻找峰值
162. 寻找峰值 峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引. 数组可能包含多个峰值,在这种情况下,返 ...
- Java实现 蓝桥杯 素因子去重
素因子去重 问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式 一个整数,表示n 输出格式 输出一行,包含一个整数p. 样例输入 1000 样 ...
- Java实现LeetCode 139 单词拆分
public boolean wordBreak(String s, List<String> wordDict) { if(s.length() == 0){ return false; ...
- JavaScript使用for循环和splice删除数组指定元素的注意点
在JavaScript里可以结合for循环和splice来删除数组指定的元素.但是要注意删除元素后,数组索引会发生改变 示例 var arr = ["a","b" ...
- 用struts的action运行jsp页面
struts是开源框架.使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间.如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的 ...
- 你真的了解EF吗?关于EntityFramework的高级优化
接上一篇文章.现在写程序,做项目不是说功能做完就完事了,在平常的开发过程中对于性能的考虑也是极其重要的. 关于ef的那些事,今天就来说说吧.首先必须得知道.net ef在程序中的五种状态变化过程与原理 ...