vue 中 命名视图的用法实例详解


Posted in Javascript onAugust 14, 2019

今天主要记录  vue中命名视图的用法

先奉上官网网址:https://router.vuejs.org/zh/guide/essentials/named-views.html

一般情况下,一个页面里面可能有多个组件,比如侧边栏,内容区,侧边栏是一个组件、内容区是一个组件,我们普遍会将两个组件作为子组件添加到主页面中,因为页面中只有一个

router-view视图,那么问题来了,怎么让一个页面中有多个视图呢,拥有多个视图,很随意,多写几个router-view标签就行了,但是每个router-view视图里面显示的相同的内容,这是一个问题,多写几个视图好像没什么用,那么怎么让一个页面中的多个视图显示不同的内容呢?

下面就来介绍命名视图的作用,首先,一般情况下,我们在路由配置中,一个路由路径只能对应一个组件,若想对应多个组件,必须得作为子组件存在,然后再一个公用的视图内显示,这是一个路由对应多个组件,这些组件对应一个视图

例如:

{
path:'tv',

name:'tv',

component:Tv,

children:[


{path:'',component:Zhonghe},


{path:'zhonghe',component:Zhonghe},


{path:'guochan',component:Guochan},


{path:'yingmei',component:Yingmei},


{path:'riju',component:Riju},


{path:'hanju',component:Hanju}

]
},

那么,下面来介绍命名视图:有时候想同时 (同级) 展示多个视图,而不是嵌套展示,例如创建一个布局,有 sidebar (侧导航) 和 main (主内容) 两个视图,这个时候命名视图就派上用场了。你可以在界面中拥有多个单独命名的视图,而不是只有一个单独的出口。如果 router-view 没有设置名字,那么默认为 default。

<router-view class="view one"></router-view>
<router-view class="view two" name="a"></router-view>
<router-view class="view three" name="b"></router-view>

一个视图使用一个组件渲染,因此对于同个路由,多个视图就需要多个组件。确保正确使用 components配置 (带上 s):

const router = new VueRouter({
 routes: [
  {
   path: '/',
   components: {
    default: Foo,
    a: Bar,
    b: Baz
   }
  }
 ]
})

解释一下:

在这个默认路由下,

第一个非未命名视图显示Foo组件

第二个name名为a的视图显示Bar组件

第二个name名为b的视图显示Baz组件

然后自己有些了个demo

<template>
<div class="hello">


<ul class="nav">



<li><router-link to="/list1">list1</router-link></li>



<li><router-link to="/list2">list2</router-link></li>



<li><router-link to="/list3">list3</router-link></li>


</ul>


<h6>默认视图</h6>


<div class="view">



<router-view></router-view>


</div>


<h6>a视图</h6>


<div class="view">



<router-view name="a"></router-view>


</div>


<h6>b视图</h6>


<div class="view">



<router-view name="b"></router-view>


</div>

</div>
</template>

router配置:

routes: [
{


path: '/',


name: 'HelloWorld',


component: HelloWorld,


children:[



{




path:'',




components:{





default:List1,





a:List2,





b:List3




}



},



{




path:'list1',




components:{





default:List1,





a:List2,





b:List3




}



 },



 {




path:'list2',




components:{





default:List2,





a:List1,





b:List3




}



},



{




path:'list3',




components:{





default:List3,





a:List1,





b:List2




}



}


]

}
]

这样会让也面很灵活,可以研究一下

总结

以上所述是小编给大家介绍的vue 中 命名视图的用法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
Aug 05 Javascript
JavaScript面向对象设计二 构造函数模式
Dec 20 Javascript
js中一个函数获取另一个函数返回值问题探讨
Nov 21 Javascript
图片翻转效果具体实现代码
Jan 09 Javascript
javascript中Function类型详解
Apr 28 Javascript
JavaScript编程设计模式之构造器模式实例分析
Oct 25 Javascript
vue自定义过滤器创建和使用方法详解
Nov 06 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
Aug 14 Javascript
vue下拉菜单组件(含搜索)的实现代码
Nov 25 Javascript
Vue.set 全局操作简单示例
Sep 19 Javascript
使用layer弹窗,制作编辑User信息页面的方法
Sep 27 Javascript
Vue SPA 初次进入加载动画实现代码
Nov 14 Javascript
详解vue 命名视图
Aug 14 #Javascript
浅谈JS中this在各个场景下的指向
Aug 14 #Javascript
Vue路由模块化配置的完整步骤
Aug 14 #Javascript
微信公众号平台接口开发 获取access_token过程解析
Aug 14 #Javascript
解决vue中使用proxy配置不同端口和ip接口问题
Aug 14 #Javascript
websocket4.0+typescript 实现热更新的方法
Aug 14 #Javascript
利用JavaScript的Map提升性能的方法详解
Aug 14 #Javascript
You might like
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
php生成静态文件的多种方法分享
2012/07/17 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
JS delegate与live浅析
2013/12/21 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
通过Python来使用七牛云存储的方法详解
2015/08/07 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
python小项目之五子棋游戏
2019/12/26 Python
使用tensorflow DataSet实现高效加载变长文本输入
2020/01/20 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
小学红领巾中秋节广播稿
2014/01/13 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
党员领导干部承诺书
2014/05/28 职场文书
材料员岗位职责
2015/02/10 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书