vue 如何给每个页面添加一个全局的className
2017-09-14 18:37
776 查看
main.js
查看的方法
用法:
question组件中:
充满当前整个屏幕 还有另外一种方法(如下)
const router = new Router({ //对官方的脚手架做出部分修改 mode: 'hash', // ['history', 'hash'] linkActiveClass: 'active', // active class 名称 scrollBehavior(to, from, savedPosition) { // 后退页面时, 保留滚动位置 if (savedPosition) { return savedPosition; } return { x: 0, y: 0 }; }, //路由 routes: [ { path: '/solution', component: Question, }, { path: '/solution/question', name: 'question', component: Question, } ] }); //这才是重点。。。。 router.beforeEach((to, from, next) => { // html加class ==>给每个组件添加一个className ,min-height:100vh;有些手机是不兼容 //使用方法:html-路由的名称 组成的一个className:height:100%;width:100%; 全屏充满 //这个className的查看方法 控制台 Element 即可 const fromName = from.name || ''; const toName = to.name || ''; if (fromName) { document.documentElement.classList.remove(`html-${fromName}`); //remove className } document.documentElement.classList.add(`html-${toName}`); //add className next(); }) export default router;
查看的方法
用法:
question组件中:
<style lang='scss' scoped> .html-question { //充满当前整个屏幕 height:100%; width:100%; background-color:red; } </style&g 4000 t;
充满当前整个屏幕 还有另外一种方法(如下)
<style lang='scss' scoped> .question { //不是全局的cssName min-height:100vh; //不是所有的版本都兼容这个写法 。上面的方法万能的 width:100%; background-color:red; } </style>
相关文章推荐
- vue 如何添加全局函数或全局变量以及单页面的title设置总结
- android launcher添加一个app,如何知道classname
- vue 如何添加全局函数或全局变量以及单页面的title设置总结
- app时如何写一个全局的ajax,,然后在每个页面都是用
- ideal中如何添加几个不同的项目在同一个idea的显示页面
- 一个JSP页面如何添加多个对象
- JavaScript基础 为一个标记添加className pObj.className
- ideal中如何添加几个不同的项目在同一个idea的显示页面
- JavaScript基础 为一个标记添加className pObj.className
- 如何在一个页面上添加多个KindEditor富文本编辑器
- 如何在一个页面添加多个文件上传控件
- 如何在WordPress中添加一个自定义的新页面
- 在一个页面上根据已有的坐标添加图片,该如何处理
- 如何给登录页面添加一个验证是否是机器登录的方式(验证码)
- 如何在zencart添加一个页面
- 如何在一个页面添加多个不同的kindeditor编辑器
- 用vue,如何给一个列表中的每个元素标签绑定id
- 两个JSP页面之间如何传递一个对象?比如一个LIST或者HASHMAP?以及为什么有时候REQUEST.GETATTRIBUTE("NAME")取不到值?
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- Vue中如何定义一个全局变量(Trick)