关键词搜索

源码搜索 ×
×

vue动态改变组件外部元素样式

发布2021-09-14浏览784次

详情内容

主要还是通过原生的js来控制。

vue的主要开发对象是组件。组件内部控制大家都轻车熟路,但组件外部呢?比如说改变组件外部元素样式。

这种问题我前不久遇到过一个。就是有个页面,承载了地图。但页面外部,是导航条啦,面包屑啦,标签条啦,顶部占据了一大块位置。you know,现在宽屏幕,垂直方向尺寸小的可怜,作为地图,肯定是占据面积越大越好啊,现在顶部一大堆乱七八糟。关键是,这些东东是框架提供的,也没有提供什么属性进行设置。怎么办?

主要是通过原生的js来控制。vue虽然作为一个开发框架,制订了自己的一些语法规则,但原生的js它仍然支持。比如document.getElementById(),这种语句在组件方法里运行一点问题没有。这些语句放在页面进入时触发:

export default {
  components: {
    Map
  },
  beforeRouteEnter (to, form, next) { // 进入本页面时隐藏面包屑
    let bread = document.getElementsByClassName('main-layout-tag-nav-wrapper')
    if (bread.length > 0) bread[0].style.display = 'none'
    next()
  },
  beforeRouteLeave (to, form, next) { // 离开本页面时恢复面包屑
    let bread = document.getElementsByClassName('main-layout-tag-nav-wrapper')
    if (bread.length > 0) bread[0].style.display = ''
    next()
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载