티스토리 뷰
vue.js로 문자열에서 특정 글자의 글자색을 바꿔야 하는 일이 생겼다.
원하는 글자를 span tag로 감싼뒤 style로 color를 주기로 했다.
우선 text는 computed로 받아오는 구조이다. (vue 2.0)
computed에서 정규식을 통해 특정 글자를 찾고, 이를 span tag를 감싼다.
최종적으로 v-html을 통해 text를 출력한다..
v-html 이란?
v-text | innerText 속성에 연결됨. 태그 문자열을 HTML 인코딩하여 나타내기 때문에 화면에는 태그 문자열이 그대로 나타남. |
v-html | innerHtml 속성에 연결됨. 태그 문자열을 파싱하여 화면에 나타냄. |
(XSS 공격 등에 취약함. 꼭 필요한 경우가 아니면 v-text 를 사용 추천.)
__ 간단 예시__
text 에서 target의 글자색만 red로 바꾸기.
<template>
<div v-html="getText"></div>
</template>
...
computed() {
getText() {
let text = "example target example"
text.replaceAll("target", " <span style='color: red'>target</span>")
return text
}
}
'프론트엔드 > Vue.js' 카테고리의 다른 글
vuetify icon 확인 사이트 (0) | 2022.11.03 |
---|---|
[vue] package.json 과 package-lock.json (0) | 2022.11.02 |
[VUE] No Babel config file detected (0) | 2022.10.31 |
<업무 오류> Vue.js 삭제된 instance가 다시 부활함... (0) | 2022.08.03 |
vuex (0) | 2022.06.01 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- rollup typescript react
- rollup ts react npm
- react 3d 에니메이션
- vue
- react glsl
- attempted import error: bvh_struct_definitions' is not exported from './gpu/bvhshaderglsl.js' (imported as 'bvhshaderglsl').
- leva
- react leva
- next.js glsl
- next.js import glsl
- vue3
- Vue.js
- 카카오 카드 짝 맞추기 javascript
- ts glsl
- rollup react.js npm
- react 3d
- three.js leva
- 카드 짝 맞추기 javascript
- eslint
- typescript gsls
- react 3d text
- react three fiber
- 카드 짝 맞추기 자바스크립트
- rollup typescript
- 카카오 카드 짝 맞추기 자바스크립트
- react three fiber leva
- 카카오 2021 카드 짝 맞추기
- webpack glsl
- react 3d animation
- react fiber 3d
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함