脚本宝典收集整理的这篇文章主要介绍了第4章 Vue全家桶(vue-router+vuex),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
介绍
Vue Router 是 Vue.js 官⽅的路由管理器。它和 Vue.js 的核⼼深度集 成,让构建单⻚⾯应⽤变得易如反掌。包含的功能有: 嵌套的路由/视图表 模块化的、基于组件的路由配置 路由参数、查询、通配符 基于 Vue.js 过渡系统的视图过渡效果 细粒度的导航控制 带有⾃动激活的 CSS class 的链接 HTML5 历史模式或 hash 模式,在 IE9 中⾃动降级 ⾃定义的滚动条⾏为
起步
⽤ Vue.js + Vue Router 创建单⻚应⽤,是⾮常简单的。使⽤ Vue.js ,我们已经可以通过组合组件来组成应⽤程序,当你要把 Vue Router 添加进来,我们需要做的是,将组件 (components) 映射到路由 (routes),然后告诉 Vue Router 在哪⾥渲染它们
安装
npm i vue-router -S
在main.js中
import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter)
推荐使⽤:vue add router 添加插件(记得提前提交)
基本使⽤
router.js
import Vue from 'vue' //1.导⼊ import Router from 'vue-router' import Home from './views/Home.vue' import About from './views/About.vue' //2.模块化机制 使⽤Router Vue.use(Router) //3.创建路由器对象 const router = new Router({ routes:[{ path: '/home', component: Home }, { path: '/about', component: About } ] }) export default router;
main.js
import Vue from 'vue' import App from './App.vue' import router from './router' Vue.config.productionTip = false new Vue({ // 4.挂载根实例 router, render: h => h(App) }).$mount('#app')
做好以上配置之后
App.vue
<template> <div id="app"> <div id="nav"> <!-- 使⽤router-link组件来导航 --> <!-- 通过传⼊to属性指定连接 --> <!-- router-link默认会被渲染成⼀个a标签 --> <router-link to="/">Home</router-link> | <router-link to="/about">About</router-link> | </div> <!-- 路由出⼝ --> <!-- 路由匹配的组件将被渲染到这⾥ --> <router-view/> </div> </template>
打开浏览器.,切换Home和About超链接,查看效果
项目目录如下:
// index.js里面的内容 import Vue from 'vue' // 1.导入 import VueRouter from 'vue-router' // 2.模块化机制,使用Router import HomeView from '../views/HomeView.vue' // 3.创建路由器对象 Vue.use(VueRouter) const routes = [ { path: '/', name: 'home', component: HomeView }, { path: '/about', name: 'about', // route level code-splitting // this generates a separate chunk (about.[hash].js) for this route // which is lazy-loaded when the route is visited. component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue') } ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }) export default router
// main.js里面的内容 import Vue from 'vue' import App from './App.vue' import router from './router' Vue.config.productionTip = false new Vue({ // 4.挂载到vue实例中 router, render: h => h(App) }).$mount('#app')
// App.vue里面的内容 <template> <div id="app"> <nav> <!-- router_link相当于a标签,to属性相当于a标签的href --> <router-link to="/">Home</router-link> | <router-link to="/about">About</router-link> <!-- //router-view相当于路由组件的出口 --> </nav> <router-view/> </div> </template> <style> #app { font-family: Avenir, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; } nav { padding: 30px; } nav a { font-weight: bold; color: #2c3e50; } nav a.router-link-exact-active { color: #42b983; } </style>
// HomeView.vue里面的内容 <template> <div class="home"> <img alt="Vue logo" src="../assets/logo.png"> <HelloWorld msg="Welcome to Your Vue.js App"/> </div> </template> <script> // @ is an alias to /src import HelloWorld from '@/components/HelloWorld.vue' export default { name: 'HomeView', components: { HelloWorld } } </script>
// AboutView.vue里面的内容 <template> <div class="about"> <h1>This is an about page</h1> </div> </template>
上面这些是主要文件的内容,其它的文件只是项目架构的初始化内容。
项目展示的效果:
以上是脚本宝典为你收集整理的第4章 Vue全家桶(vue-router+vuex)全部内容,希望文章能够帮你解决第4章 Vue全家桶(vue-router+vuex)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。