Vue 组件之 Router

Vue 开发单页应用的时候,免不了使用Vue组件。在单页应用上如何进行组件切换?

结构如下图所示:

主页面包含Foo组件与Bar组件,在主页面中可以进行Foo与 Bar的切换

这个时候就会需要组件路由,Vue官方推荐的路由组件是Vue-Router。下面通过实例来演练 Vue-Router

安装Vue-Router

npm install vue-router

定义组件

Bar.vue

<!--组件呈现模板-->

<template>

<p>

<ul>

<li v-for="n in 5" v-bind:key="n">{{ n }} {{msg}}</li>

</ul>

</p>

</template>

<!--es6 组件导出-->

<script>

export default {

data:function(){

return {

msg:"i am Bar!"

}

}

}

</script>

<!--组件样式,加了scoped后样式仅在本组件中起作用-->

<style scoped>

li{

font-size:2em;

color:red;

}

</style>

Foo.vue

<!--组件呈现模板-->

<template>

<p>

<ul>

<li v-for="n in 5" v-bind:key="n">{{ n }} {{msg}}</li>

</ul>

</p>

</template>

<!--es6 组件导出-->

<script>

export default {

data:function(){

return {

msg:"i am
Foo!"

}

}

}

</script>

<!--组件样式,加了scoped后样式仅在本组件中起作用-->

<style scoped>

li{

font-size:2em;

color:blue;

}

</style>

定义路由组件映射

/**

* Router组件

*/

import Vue from 'vue';

import VueRouter from 'vue-router';

import Foo from "./component/Foo.vue";

import Bar from "./component/Bar.vue";

//Vue使用 VueRouter

Vue.use(VueRouter);

//Router 与 组件映射

const router = new VueRouter({

routes: [

{ path: "/foo", component: Foo },

{ path: "/bar", component: Bar }

]

});

export default router

Main函数

/* 引入vue和主页 */

import Vue from 'vue'

import App from './App.vue'

import router from './router.js'

/* 实例化一个vue */

var app = new Vue({

el: '#app',

// store,

router,

render: h => h(App),

created: function() {}

})

App.Vue

<template>

<div style="height:
100%;" id="app">

<router-link to="/foo">Go to Foo</router-link>

<router-link to="/bar">Go to Bar</router-link>

<router-view></router-view>

</div>

</template>

Package.json 定义的 dev 与 build

"scripts": {

"dev": "webpack-dev-server -d --inline --hot
--env.dev",

"build": "rimraf dist && webpack -p --progress
--hide-modules"

},

运行

npm run dev

Vue 组件之 Router的更多相关文章

  1. vue 组件开发、vue自动化工具、axios使用与router的使用(3)

    一. 组件化开发 1.1 组件[component] 在网页中实现一个功能,需要使用html定义功能的内容结构,使用css声明功能的外观样式,还要使用js定义功能的特效,因此就产生了一个功能先关的代码 ...

  2. vue教程3-05 vue组件数据传递、父子组件数据获取,slot,router路由

    vue教程3-05 vue组件数据传递 一.vue默认情况下,子组件也没法访问父组件数据 <!DOCTYPE html> <html lang="en"> ...

  3. vue组件大集合 component

    vue组件分为全局组件.局部组件和父子组件,其中局部组件只能在el定义的范围内使用, 全局组件可以在随意地方使用,父子组件之间的传值问题等. Vue.extend 创建一个组件构造器 template ...

  4. Vue (三) --- Vue 组件开发

    ------------------------------------------------------------------好心情,会让你峰回路转. 5. 组件化开发 5.1 组件[compo ...

  5. Vue—组件传值及vuex的使用

    一.父子组件之间的传值 1.父组件向子组件传值: 子组件在props中创建一个属性,用以接收父组件传来的值 父组件中注册子组件 在子组件标签中添加子组件props中创建的属性 把需要传给子组件的值赋给 ...

  6. vue2.0 如何自定义组件(vue组件的封装)

    一.前言 之前的博客聊过 vue2.0和react的技术选型:聊过vue的axios封装和vuex使用.今天简单聊聊 vue 组件的封装. vue 的ui框架现在是很多的,但是鉴于移动设备的复杂性,兼 ...

  7. vue学习之router

    路由文档:https://router.vuejs.org/zh/guide/ 使用vue做spa应用的话,一定会涉及到路由. 安装 安装router插件 npm install vue-router ...

  8. vue基础篇---vue组件

    vue模块第一篇,因为公司马上要用到这vue开发.早就想好好看看vue了.只有实际工作中用到才会进步最快.vue其他的简单指令就不多讲了,没啥意思,网上一大堆.看w3c就ok. 组件这个我个人感觉坑蛮 ...

  9. [vue]组件的导入

    参考: http://vue2.mmxiaowu.com/article/584a3957fc007e72b0f576d9 vue组件的注册 1.通过components方式注册 2.通过router ...

随机推荐

  1. 商城项目整理(三)JDBC增删改查

    商品表的增加,修改,删除,订单表的增加,确认,用户表的查看,日志表的增加,查看 商品表建表语句: create table TEST.GOODS_TABLE ( gid NUMBER not null ...

  2. iOS Swift3.0 OC 数据储存--归档

    一.Swift 3.0 1.model class userModel: NSObject,NSCoding { var account: String = "" var regm ...

  3. awk 字符拼接

    i-6gdkkemx 2 2 #cat cpu.txt | awk '{print $1,$2"核"$3"G"}' i-6gdkkemx 2核2G

  4. 从头开始搭建一个Spring boot+ActiveMQ高可用分布式环境

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  5. coursera 视频总是缓冲或者无法观看的解决办法

    注意!!!该方法针对Windows用户,亲测有效. 1.用管理员权限记事本打开host文件 2.将如下内容复制到文件末尾 52.84.246.90 d3c33hcgiwev3.cloudfront.n ...

  6. split 命令详解

    作用:将大文件切割成小文件. 参数:-l 按照行数分隔文件       -b 按照大小分隔文件       -d 使用数字做后缀 实例:分隔文件默认1000行     split mylog ; wc ...

  7. php示例的错误记录

    最近几天在测试php的mvc,从网上找到几个示例. 先学习这一篇,http://www.cnblogs.com/q1ng/p/4529496.html 标题是  PHP的MVC框架 深入解析,其实是最 ...

  8. Jmeter非GUI模式运行

    非GUI模式,即命令行模式,运行 JMeter 测试脚本能够大大缩减所需要的系统资源. 使用的命令: jmeter  -n  -t  脚本文件路径   -l   结果输出文件路径   -j   日志文 ...

  9. day 10 字符编码和文件处理 细节整理

    pycharm是文本编辑器. 大概理解为:  输出到屏幕上的时候,是解码过的字符串,用 decode 处理的时候要编码成相应的流, encode 成你要用的格式就可以了 1 .字符编码: 字符==== ...

  10. python中顺序查找分析和实现

    顺序查找算法是一种很基本的查找算法,该算法的复杂度一般是最大是O(n),假如加上顺序查找,算法的复杂度 还要降一倍,为O(n/2). Python的代码实现如下所示: def sequential_s ...