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技术技巧大全(五)
Jan 22 Javascript
Firefox window.close()的使用注意事项
Apr 11 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
Apr 24 Javascript
node.js操作mongodb学习小结
Apr 25 Javascript
js操作css属性实现div层展开关闭效果的方法
May 11 Javascript
javascript模拟C#格式化字符串
Aug 26 Javascript
React Native 搭建开发环境的方法步骤
Oct 30 Javascript
three.js中文文档学习之如何本地运行详解
Nov 20 Javascript
layui的table单击行勾选checkbox功能方法
Aug 14 Javascript
小程序hover-class点击态效果实现
Feb 26 Javascript
JS表单验证插件之数据与逻辑分离操作实例分析【策略模式】
May 01 Javascript
微信小程序实现搜索框功能及踩过的坑
Jun 19 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
极典R601SW收音机
2021/03/02 无线电
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
php实现水仙花数示例分享
2014/04/03 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
PHP的几个常用加密函数
2016/02/03 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
Js 本页面传值实现代码
2009/05/17 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
vue总线机制(bus)知识点详解
2020/05/10 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
生产经理的自我评价分享
2013/11/07 职场文书
办公室文秘岗位职责
2013/11/15 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
销售2014年度工作总结
2014/12/08 职场文书
小孩不笨观后感
2015/06/03 职场文书