VueRouter认识

1、 什么是路由?

  路由(vue-router)是负责将进入的浏览器请求映射到特定的 组件 代码中。即决定了由谁(组件)去响应客户端请求。简单说路由就是url地址和对应的资源的映射,通过一个路径的url地址,可以唯一找到一个资源。路由不包含在vue中,是一个插件,需要单独下载。
  官方地址:https://router.vuejs.org/zh/
  地址:https://unpkg.com/[email protected]/dist/vue-router.js2、路由的使用

    注意:作为vue的插件,需要单独引入js文件,且必须在vue.js之后引入。

  路由的使用步骤:    1、定义模板    2、定义组件    3、创建路由对象    4、将路由对象配置到vue实例中    5、路由调用:

        <router-link to=“跳转路径”></router-link>:该标签会默认被解析成<a>标签

    <router-view></router-view>:该标签用于展示组件中的内容,是路由的出口

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
    <!-- ==============================5、使用路由==================================== -->
        <div id="app">
            <!-- 使用 router-link 组件来导航:该标签默认会被解析成一个<a></a>标签 -->
            <!-- 通过传入 `to` 属性指定链接. -->

            <router-link to="/employee">员工管理</router-link>
            <router-link to="/department">部门管理</router-link>
            <router-link to="/storage">仓库管理</router-link>
            <hr />    <!--分隔线-->
            <router-view></router-view>  <!--路由出口:用于展示组件中的内容-->

        </div>

    <!-- ==============================1、定义组件模板==================================== -->
            <template id="temp">
                <!--这个div是根标签-->
                <div>
                    <h1>员工管理</h1>
                    模板内容
                </div>
            </template>
            <template id="temp2">
                <!--这个div是根标签-->
                <div>
                    <h1>部门管理</h1>
                    模板内容
                </div>
            </template>
            <template id="temp3">
                <!--这个div是根标签-->
                <div>
                    <h1>仓库管理</h1>
                    模板内容
                </div>
            </template>

        <script type="text/javascript" src="js/vue.js" ></script>  <!--重点-->
        <!--vue路由必需js文件:要在vue.ja文件后面-->
        <script type="text/javascript" src="js/vue-router.js" ></script>  <!--重点-->
        <script>
    /* =================================2、定义组件========================================== */
            var emp= Vue.component("compon1",{
                template:"#temp"
            })
            var depar = Vue.component("compon2",{
                template:"#temp2"
            })
            var stor = Vue.component("compon3",{
                template:"#temp3"
            })
    /* =======================3、创建路由对象=================================== */
            var route = new VueRouter({
                routes:[
                    {
                        path:"/employee",    //路径
                        component:emp    //路由对应的资源(获取vue组件对象)
                    },
                    {
                        path:"/department",//路径
                        component:depar        //路由对应的资源(获取vue组件对象)
                    },
                    {
                        path:"/storage",    //路径
                        component:stor        //路由对应的资源(获取vue组件对象)
                    }
                ]
            })
    /* =======================4、将路由对象配置到vue实例中=================================== */
            //挂载vue实例
            var app= new Vue({
                el:"#app",
                router:route
            })

        </script>
    </body>
</html>


原文地址:https://www.cnblogs.com/wanghj-15/p/11172186.html

时间: 2024-10-23 03:17:51

VueRouter认识的相关文章

怎样通过已经使用过webpack+vue+vueRouter+vuecli的配置文件package.json创建一个项目

首先,我们自己得手动创建一个webpack+vue+vueRouter+vuecli工程,执行下面:如:新建一个vue项目,创建一个基于"webpack"的项目,项目名为vuedemo: $ vue init webpack vuedemo 安装完成后进入工程名称再根据原来项目的配置文件初始化 $ cd vuedemo $ npm install 但是由于在新建的时候对eslint的选择中选择了Yes,所以后面根据配置package.json的时候,发现没有eslint-friendl

vue-router实现登录和跳转到指定页面,vue-router 传参

定义路由的时候可以配置 meta 字段: const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, children: [ { path: 'bar', component: Bar, // a meta field meta: { requiresAuth: true } } ] } ] }) 那么如何访问这个 meta 字段呢? 首先,我们称呼 routes 配置中的每个路由对象为 路由记录.路由记录可以

vue 组件按需引用,vue-router懒加载,vue打包优化,加载动画

当打包构建应用时,Javascript 包会变得非常大,影响页面加载.如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 结合 Vue 的 异步组件 和 Webpack 的 code splitting feature, 轻松实现路由组件的懒加载. 我们要做的就是把路由对应的组件定义成异步组件 const Foo = resolve => { // require.ensure 是 Webpack 的特殊语法,用来设置 code-split

vue-router单页应用简单示例(一)

请先完成了项目初始化,具体请看我另一篇博文.vue项目初始化 看一下完成的效果图,很典型的单页应用. .vue后缀名的单文件组件 这里先说一下我对组件的理解.组件,顾名思义就是一组元素组成的一个原件(理解的比较浅显.直白),在Vue.js中,表现为一个自定义元素.开篇展示的图中,首页的的列表中的每一项就可以看成一个组件(事实上,在demo中,我也是这么做的),这个组件由一张图片,一个显示价格的元素,一个显示名称的元素组成,我就可以先把它定义为一个list组件. 首先,我们先来分析一下两个页面中组

vue-router 中router-view不能渲染

最近在做一个vue的项目,其中使用了vue2.0,vue-router2.0.在使用vue-router的时候跳了一个很大的坑,router-view不能渲染,花费了好多时间终于发现了原因. 项目目录结构 其中main.js import Vue from 'vue'; import App from './App'; import router from './router'; /* eslint-disable no-new */ new Vue({ el: '#app', router,

vue-router介绍

vue-router学习 转自:https://my.oschina.net/u/1416844/blog/849971 1. vue-router介绍 vue-router把react-router和ui-router中所有的优点都超了过来 官方文档:https://router.vuejs.org/ 2. 路由的快速开始 定义各页面容器组件 定义路由配置文件 在入口文件添加路由配置信息 修改跟组件页面信息 接下来可以启动项目查看路由跳转 3. 路由基础知识介绍 3.1. 动态路由 你可以通过

vue+ vue-router + webpack 踩坑之旅

说是踩坑之旅 其实是最近在思考一些问题 然后想实现方案的时候,就慢慢的查到这些方案   老司机可以忽略下面的内容了 1)起因  考虑到数据分离的问题  因为server是express搭的   自然少不了res.render("xx",data)    这句话的意思就是去查找相应的模板文件然后在用数据去渲染在将渲染好的页面去返回给浏览器,给浏览器去解析,渲染模板其实就是做的替换字符串+拼接字符串的活  各种的模板引擎也有各个优化的点(比如可以将对应的模板编译的函数保存在内存中,然后在通

vue-router

单页应用 使用步骤 安装模块 npm install vue-router --save 引入模块 import vueRouter from 'vue-router' 使用模块 Vue.use(vueRouter) 创建路由实例对象 let router=new vueRouter({ //配置参数 routes:[ { path: '/', component: home } ] }) 注入vue选项参数 new Vue({ router, }) 告诉路由渲染位置 <view-router>

VUE2.0+VUE-Router做一个图片上传预览的组件

之前发了一篇关于自己看待前端组件化的文章,但是由于学习和实践的业务逻辑差异,所以自己练习的一些demo逻辑比较简单,打算用vue重构现在公司做的项目,所以在一些小的功能页面上使用vue来做的,现在写的这个是项目中用户反馈功能而来的,收获还是挺多的. 收获:dom操作=>数据操作       router的使用       组件的使用,具体总结放在尾部. 功能:1.上传图片 2.显示缩略图 3.可以删除 4.可以重新选择文件 先上成品图(主要抽取图片这块),自己在家主要做的功能,样式就不计较了.

从零开始,零基础,一点一点探索vue-router(vue2.0)

首先我们用vue-cli搭建一个vue开发的脚手架,删除它的原来的代码,开始写自己的代码,实现最简单的router功能: 一,开始 新建几个自己需要的页面,随便写点东西 <template> <div id = "movie"> I'm moive! </div> </template> <script> export default {}; </script> <style> </style&g