第4节:单页面多路由区域操作

这节课我们讲“单页面多路由区域操作”,实际需求是这样的,在一个页面里我们有2个以上<router-view>区域,我们通过配置路由的js文件,来操作这些区域的内容。例如我们在src/App.vue里加上两个<router-view>标签。我们用vue-cli建立了新的项目,并打开了src目录下的App.vue文件,在<router-view>下面新写了两行<router-view>标签,并加入了些CSS样式。

1

2

3

<router-view ></router-view>

<router-view name="left" style="float:left;width:50%;height:300px;"></router-view>

<router-view name="right" style="float:right;width:50%;height:300px;"></router-view>

现在的页面中有了三个<router-view>标签,也就是说我们需要在路由里配置这三个区域,配置主要是在components字段里进行。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

import Vue from ‘vue‘

import Router from ‘vue-router‘

import Hello from ‘@/components/Hello‘

import Hi1 from ‘@/components/Hi1‘

import Hi2 from ‘@/components/Hi2‘

Vue.use(Router)

export default new Router({

routes: [

{

path: ‘/‘,

components: {

default:Hello,

left:Hi1,

right:Hi2

}

},{

path: ‘/Hi‘,

components: {

default:Hello,

left:Hi2,

right:Hi1

}

}

]

})

上边的代码我们编写了两个路径,一个是默认的‘/’,另一个是’/Hi’.在两个路径下的components里面,我们对三个区域都定义了显示内容。

定义好后,我们需要在component文件夹下,新建Hi1.vue和Hi2.vue页面就可以了。

Hi1.vue

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<template>

<div>

<h2>{{ msg }}</h2>

</div>

</template>

<script>

export default {

name: ‘hi1‘,

data () {

return {

msg: ‘I am Hi1 page.‘

}

}

}

</script>

Hi2.vue

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<template>

<div>

<h2>{{ msg }}</h2>

</div>

</template>

<script>

export default {

name: ‘hi2‘,

data () {

return {

msg: ‘I am Hi2 page.‘

}

}

}

</script>

最后在App.vue中配置我们的<router-link>就可以了

1

2

<router-link to="/">首页</router-link> |

<router-link to="/hi">Hi页面</router-link> |

原文地址:https://www.cnblogs.com/jinsuo/p/8284646.html

时间: 2024-08-29 20:28:50

第4节:单页面多路由区域操作的相关文章

Vue 子路由 与 单页面多路由 的区别

跟着学完了基础课程,打算整理一波笔记,对基本概念梳理一遍,惊觉对子路由和单页面多路由混淆的一塌糊涂. 果然,基础课程的坑新手是体会不到的. 由于子路由仅嵌套了一层,多路由给了左右两个组件,而且两个都是在默认组件下进行的.于是,妥妥误会俩作用一样.我发现自己问题,并尝试网上找到区别时,发现并没有人写出来.只好去官网看了一下文档. 哇塞,真是一语惊醒梦中人啊!!! 上面就是官网对子路由的解释,人家说的很清楚了,嵌套路由!!!是一层层嵌套的!!! 再看看传说中的多路由是啥 嗯,也不叫多路由,而是叫命名

单页面应用路由的实现方式

什么是 SPA? SPA就是单页面应用,即single page application,通过看代码就可以发现,整个网站就只有一个Html文件. WHY SPA? 减小服务器压力. 如果不用SPA,那么我们每次切换页面的时候,就会向服务器发送一个请求,服务器返回一个html文件:但是如果使用了SPA,在切换时,不需要请求服务器,只要通过本地的js来切换即可.并且服务器端就不需要配置路由,完全做到了前后端分离,这对于分工合作的意义可想而知. 增强用户体验,增加app的使用流畅性. 做过spa的同学

Angular——单页面与路由的使用

单页面 SPA(Single Page Application)指的是通单一页面展示所有功能,通过Ajax动态获取数据然后进行实时渲染,结合CSS3动画模仿原生App交互,然后再进行打包(使用工具把Web应用包一个壳,这个壳本质上是浏览器)变成一个"原生"应用. 在PC端也有广泛的应用,通常情况下使用Ajax异步请求数据,然后实现内容局部刷新,局部刷新的本质是动态生成DOM,新生成的DOM元素并没有真实存在于文档中,所以当再次刷新页面时新添加的DOM元素会"丢失",

nignx部署Vue单页面刷新路由404问题解决

在linux下搭建nginx测试网页的时候,正常打开可以访问,当刷新后页面出现404 not found的问题 说明: vue-router 默认 hash 模式 -- 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面. const router = new VueRouter({

AngularJS学习笔记(三) 单页面webApp和路由(ng-route)

就我现在的认识,路由($route)这个东西(也许可以加上$location)可以说是ng最重要的东西了.因为angular目前最重要的作用就是做单页面webApp,而路由这个东西是能做到页面跳转的关键. 1.单页面webApp 为什么叫单页面webApp?因为它是单页面的....额...关键在于我们看到的不少webApp是多页面的啊,可以从一页跳到另一页.嗯,看起来是这样,不过实际上这几页实际还是一个页面,因为它们是一次性加载进来的,至于为啥会有跳转效果呢?嗯,有点儿像选项卡,嗯.其实现原理在

单页面应用的路由问题

一.概念 单页面引用 (SPA), 被定义成一个目的在于提供一种接近桌面应用程序的流畅用户体验单web页面应用程序. 一旦页面被第一次加载后,不再会发生整个页面的更新,而是只会发生页面的局部更新,这样前后端的数据交互量会很小,用户体验会更好.   在一个SPA中, 所有必需的代码(HTML, JavaScript, 以及 CSS ), 要不全部在初始页面中写好,要不在用户操作页面的过程中被动态加载. 开发单页面程序,因为只有一个总的html文件,会带来如下几个负面的问题: 1)总html文件的内

详解单页面路由的几种实现原理(附demo)

前言 路由是每个单页面网站必须要有的,所以,理解一下原理,我觉得还是比较重要的. 本篇,基本不会贴代码,只讲原理,代码在页底会有githup地址,主意,一定要放在服务本地服务器里跑(因为有ajax), 希望能帮到你. 众所周知单页面网站的路径跳转全是通过js来控制的,下面咱们来讲讲 第一种:url完全不动型 这一种的情况是url完全不动,即你的页面怎么改变,怎么跳转url都不会改变 这种情况的原理 就是纯ajax拿到页面后替换原页面中的元素, 这种情况没什么好讲的,好的一言不和上代码    de

浅谈HTML5单页面架构(三)—— 回归本真:自定义路由 + requirejs + zepto + underscore

本文转载自:http://www.cnblogs.com/kenkofox/p/4650310.html 不过,这一篇,我想进一步探讨一下这两个框架的优缺点,另外,再进一步,抛开这两个框架,回到本真,自己搞个简单的路由一样可以实现单页面. 这个对于刚做前端开发的新同学来说就最好不过了,如果一来到岗位就一大堆angular.backbone.requirejs,看资料都看一两周.其实大家最熟悉的东西还是那个美元$,用美元能解决的问题,就不要麻烦到angular.backbone大爷了. 事先说明,

AngularJS单页面路由配置恩,理解了就很简单啦

利用route实现单页面跳转功能 利用angularJS开发流程 1)配置好angularJS开发环境 2)利用 yo angular projectname创建项目目录 3)删除掉系统自动生成的一些自己工程不需要的页面和脚本 4)修改index.html,在 <!-- Add your site or application content here --> 以上注释下面写自己的样式内容,关键是 <div class="container-fluid" id=&qu