vue는 스타일 태그에서 변수(데이터)를 어떻게 사용합니까?

참조

SFC CSS 기능 | Vue.js

스타일에서 데이터 변수 사용

옵션 방법:

<template>
  <div class="text">hello</div>
</template>

<script>
export default {
  data() {
    return {
      color: 'red'
    }
  }
}
</script>

<style>
.text {
  color: v-bind(color);
}
</style>

구성 방법

<script setup>
const theme = {
  color: 'red'
}
</script>

<template>
  <p>hello</p>
</template>

<style scoped>
p {
  color: v-bind('theme.color');
}
</style>

한 가지 더 질문하겠습니다. 변수가 숫자이지만 픽셀을 설정하고 싶다면 어떻게 해야 할까요?

사실 이것은 좋은 해결책입니다.

하나는 계산된 속성을 사용하여 변경하는 것입니다.

<script setup>
import { computed } from 'vue';
const props = defineProps({ size: Number });

const sizePx = computed(() => `${props.size}px`)
</script>

<template>
  <p>hello</p>
</template>

<style scoped>
p {
  font-size: v-bind(sizePx);
}
</style>

또 다른 방법은 calc css를 사용하여 속성을 계산하는 것입니다.

<script setup>
defineProps({ size: Number });
</script>

<template>
  <p>hello</p>
</template>

<style scoped>
p {
  font-size: calc(1px * v-bind(size));
}
</style>

물론 값을 전달할 때 문자열 형식으로 전달하는 세 번째 방법이 있습니다.

옵션 방식은 비슷합니다

==================================================== ========================================

코드에서 스타일 속성을 사용하는 방법은 무엇입니까?

또한 매우 간단합니다

동일한 참조

SFC CSS 기능 | Vue.js

<template>
  <p :class="$style.red">This should be red</p>
</template>

<style module>
.red {
  color: red;
}
</style>

다른 변수를 설정할 수도 있습니다.

<template>
  <p :class="classes1.red">This should be red</p>
</template>

<style module="classes1">
.red {
  color: red;
}
</style>

<style module="classes2">
.red {
  color: green;
}
</style>

스크립트에서 사용하는 경우 useCssModule을 사용할 수 있습니다.

import { useCssModule } from 'vue';

const classes1 = useCssModule('classes1');

const classes2 = useCssModule('classes2');

Guess you like

Origin blog.csdn.net/weixin_42335036/article/details/125561798