Javascript 访问指令中的“计算样式”元素

Javascript 访问指令中的“计算样式”元素,javascript,vue.js,vue-directives,Javascript,Vue.js,Vue Directives,我对装载机的事情下了指令。我想做下面的事情,但是所有的样式都没有定义。是否有方法访问指令中元素的计算样式 export const ElementLoader = { componentUpdated(el, binding) { if (binding.value.isLoading) { if (el.style.position !== '' || el.style.position !== 'static') { el.style.position

我对装载机的事情下了指令。我想做下面的事情,但是所有的样式都没有定义。是否有方法访问指令中元素的计算样式

export const ElementLoader = {
  componentUpdated(el, binding) {
    if (binding.value.isLoading) {
      if (el.style.position !== '' || el.style.position !== 'static') {
        el.style.position = 'relative'
      }

      el.classList.add('is-loading')
    } else {
      el.classList.remove('is-loading')
    }
  }
}

Vue.js没有为此提供任何现成的功能。您必须为此使用core:

componentUpdated(el, binding) {
    const styleObj = window.getComputedStyle(el);
    // Other code...
}

如果您确实需要以指令样式使用它,那么这不是解决方案,但是您始终可以动态地v绑定属性(在本例中为CSS类)


那么添加window.getComputedStyleel??或者无论vue对windowelement.style全局使用什么,都会返回内联样式属性中定义的样式,对于计算样式,您需要使用window.GetComputedStyle是否有不好的原因?在添加类之前,我需要检查当前样式。另外,这是一个对所有元素都通用的加载程序。不,没有任何原因,只是指令样式没有在Vue中本机实现。你随时都可以选择定制路线。好吧,是的,我考虑过了,真的没有其他方法可以做到这一点。我需要检查它有什么风格,然后采取行动。它也是基本上所有组件/元件的通用解决方案。谢谢你的回复路易斯:随时都可以。我很乐意提供任何帮助。