vue.js——router
来源:互联网 发布:photoshop7.0淘宝美工 编辑:程序博客网 时间:2024/05/22 17:54
在src目录下新建router.js
添加如下代码
1 /** 2 * Created by sioxa on 2016/10/29 0029. 3 */ 4 import Vue from 'vue' 5 import VueRouter from 'vue-router' 6 import Liuyan from './components/home.vue' 7 import hellow from './components/hellow.vue' 8 9 const routes = [10 { path: '/hellow',name:'hellow', component: hellow },11 { path: '/home',name:'home', component: home}12 ]13 14 export default new VueRouter({15 routes16 })
这里使用到了es6 语法的import,export来输出和接收变量不熟悉的朋友可以查看es6的语法教程
把main.js修改成
1 import Vue from 'vue' 2 import App from './App.vue' 3 import routes from './router' 4 new Vue({ 5 el: '#app', 6 router:routes, 7 render: h => h(App) 8 })
这里的routes是接收router传过来的路由参数的
在页面用router-link 标签来实现a标签作用,router-view显示路由页面
1 <router-link to="/hellow">hellow</router-link>2 <router-link to="/home">home</router-link>3 <router-view></router-view>
这时路由已经配置好了,启动npm来看看我们的路由吧
npm run dev
在vue1.0版本的超链接标签还是原来的a标签,链接地址由v-link属性控制
而vue2.0版本里超链接标签由a标签被替换成了router-link标签,但最终在页面还是会被渲染成a标签的
至于为什么要把a换成router-link原因还是有的,比如我们之前一直惯用的nav导航里面结构是(ul>li>a),touter-link可以渲染为任何元素,这里可以直接渲染成li标签,同样能实现跳转效果,节省了a标签的使用,还有一个原因可能是因为a标签正常是链接的跳转的作用,点击a时可能会重载页面,使用router-link,此标签会被vue所监听,跳转链接时就不会刷新页面了。当然这个人理解,不对之处有望指正。
"router-link"属性
1.":to" 属 性
相当于a标签中的"herf"属性,后面跟跳转链接所用
<router-link :to="/home">Home</router-link><!-- 渲染结果 --><a href="/home">Home</a>
2."replace" 属 性
replace在routre-link标签中添加后,页面切换时不会留下历史记录
<router-link :to="/home" replace></router-link>
3."tag" 属 性
具有tag属性的router-link会被渲染成相应的标签
<router-link :to="/home" tag="li">Home</router-link><!-- 渲染结果 --><li>Home</li>
此时页面的li同样会起到a链接跳转的结果,vue会自动为其绑定点击事件,并跳转页面
4."active-class" 属 性
这个属性是设置激活链接时class属性,也就是当前页面所有与当前地址所匹配的的链接都会被添加class属性
<router-link :to="/home" active-class="u-link--Active">Home</router-link>
active-class属性的默认值是router-link-active,所以如果没有设置,就会被渲染为这个class
可以在router.js里面设置
const router = new VueRouter({ mode: 'hash', linkActiveClass: 'u-link--Active', // 这是链接激活时的class})
5."exact" 属 性
开启router-link的严格模式
<router-link :to="/" exact>home</router-link>
上面这个标签如果不加exact属性,则会在vue2.leenty.com/article页面下也会被匹配到,
这却不是我们的本意,在加了这个属性后就会正确的匹配到vue2.leenty.com下
- vue.js——router
- [Vue.js启航]——Vue-Router的使用
- Vue.js——vue-router 60分钟快速入门
- Vue生态——vue-router
- Vue.js——vue-router 60分钟快速入门【9】
- vue.js路由vue-router(一)——简单路由基础
- vue.js路由vue-router(二)——路由进阶
- vue-router.js,入门案例
- vue.js router的配置
- Vue.js笔记-vue-router入门
- vue项目开发实战(三)——vue-router
- vue.js+vue-router+sea.js构建SPA应用
- 关于vue-router.js 下载的问题
- vue.js this.$router.push无效解决
- 【Vue】—Vue.js入门教程
- Vue.js系列之vue-router(上)(3)
- Vue.js系列之vue-router(中)(4)
- Vue.js系列之vue-router(下)(5)
- 查看Linux版本信息命令
- 单文档、多文档、对话框
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(三)
- RSA_实验吧
- Web应用性能优化思路
- vue.js——router
- onbeforeunload 事件
- leetcode(152). Maximum Product Subarray
- inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot)
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(二)
- JDK 安装
- h3c smart link
- 909422229_Linux Shell脚本编程--curl命令详解
- vue2.0设置默认路由的代码,以及点击不同路由加上样式的api