๋ฐ์ํ
v-html
๐ v-html
vue์์ html ๊ทธ๋๋ก ์ ์ฉ์ํฌ ๊ฒฝ์ฐ, v-html ์ต์ ์ ์ด์ฉํด์ ์ ์ฉ ๊ฐ๋ฅํ๋ค.
ex) TextEditor(quill)์์ ์ ๋ ฅํ ๋ด์ฉ์ ํ์ํ ๋, ๊ฐ์ html ๋ก ๋ฐํํ๊ธฐ ๋๋ฌธ์ html์ ๊ทธ๋๋ก ํ์ํ๊ธฐ ์ํด์๋ v-html์ ์ด์ฉํ๋ค.
<template>
<div v-html="contents" />
</template>
<script>
export default {
data: () => ({
contents: '<span>aaaa</span>',
}),
}
</script>
-
vue์์ v-html์ฌ์ฉ ์ XSS ๊ณต๊ฒฉ ์๋ฐฉ์ ์ํด eslint ์์ ๊ฒฝ๊ณ (warning)๋ฅผ ๋ฐ์ํ๋ค.
- ๊ฒฝ๊ณ ๋ฅผ ์์ ๊ธฐ ์ํด์๋ ์ฝ๋ ์ต์๋จ์ ์๋ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
- ์ฐธ๊ณ : https://github.com/vuejs/eslint-plugin-vue/issues/260
<!-- eslint-disable vue/no-v-html -->
๋ฐ์ํ
'WEB > Vue.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Vue.js] Custom Directive : Outside Click Event (0) | 2021.01.13 |
---|---|
[Vue.js] Custom Directive (0) | 2021.01.13 |
[Vuejs][VScode] 'v-slot' directive doesn't support any modifier. (0) | 2020.12.10 |
[Nuxtjs] ๋ฐฐํฌ ํ ๋ console.log ํ ๋ฒ์ ์ง์ฐ๋ ๋ฐฉ๋ฒ (0) | 2020.08.20 |
[Vuejs] Mdi(Material Design Icons) offline (0) | 2020.08.18 |