WEB/Vue.js
[Vuejs] v-html
S0PH1A
2020. 12. 4. 11:41
๋ฐ์ํ
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 -->
๋ฐ์ํ