Vue-在CSS中获取数据属性值

时间:2019-03-08 21:31:25

标签: css vue.js sass styles custom-data-attribute

是否可以在Vue CSS中获取数据属性值?

<template>
   <p data-background="purple"> TEST </p>
</template>

<style lang="scss">
p {
  background: attr(data-background); //error
  &:after {
     background: attr(data-background); //error
  }
}
</style>

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以使用CSS variables

new Vue({
  el: '#app',
  data: {
    elStyle: {
      '--background': 'lightblue',
    }
  }
});
p:after {
  content: 'A pseudo element';
  background: var(--background, red); // Red is the fallback value
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
  <p :style="elStyle"></p>
</div>