728x90
개요
특히, 사용자가 작성해서 제공하는 콘텐츠(ex. 커뮤니티 게시물)에는 사용자가 작성한 글을 그대로 보여주는 목적으로 v-html을 사용하면 안 됩니다. 사용자가 html 작업으로, 게시글을 읽는 사용자에게 공격을 할 수 있기 때문이죠..;;
사용자를 믿으면 안 됩니다.
그래서, v-html 대신, v-text를 주로 사용하고 있습니다.
문제점
어떻게 하면, 개행이 들어간 Javascript 스트링 데이터를 화면에 개행이 표시되게 보여줄 수 있을까.
사용자가 작성한 글에 개행이 있다면, 작성자 의도대로 화면에 개행까지 들어간 양식 그대로를 보여줘야 합니다.
보통 사용자가 작성한 글을 그대로 서버에서 받아오면, 다음처럼 되어 있습니다.
"\njohn\n\n2022년ㄹㄹ믿ㅈ랴ㅓㅁ지댜러ㅣㅁ;쟈더리;먀젇리;ㅁ쟈ㅓㄷ리ㅑㅈ더ㄹㅈㄷㄹㅁㅈㄹㄹ믿ㅈ랴ㅓㅁ지댜러ㅣ..."
이 스트링 데이터를 v-text에 넣는다고, 개행이 살아나지 않습니다.
해결방법
개행을 살리려면, css 코드로 처리할 수 있습니다.
white-space: pre-line;
적용 후.
728x90
'Vue.js' 카테고리의 다른 글
[vue/test-utils] $route를 사용하는 컴포넌트 테스트 방법 (0) | 2022.07.31 |
---|---|
[Nuxt.js & Vue.js] 스크롤 위치 유지하는 방법 (0) | 2022.06.01 |
[Vuejs] 엔터로 서브밋 보내기 (0) | 2022.05.11 |
[Vue.js2 + tailwindcss] build 설정 방법 (0) | 2022.02.10 |
[Vuetify] v-btn hover effect circle -> square shape로 변경하기 (0) | 2022.01.04 |
댓글