html¿¡¼ htmlÀ» Æ÷ÇÔÇÏ´Â ¹æ¹ýÀÌ ¾øÀ»±î?
ÇѶ§´Â "html import" Áö¿øÀÌ ÀϺΠÀ¥ºê¶ó¿ìÁ®¿¡¼ Áö¿ø µÇ¾úÁö¸¸ ¿©·¯°¡Áö ÀÌÀ¯·Î ÀÎÇؼ »ç¶óÁø ±â´ÉÀÌ´Ù.
jqueryÀÇ ·Îµå³ª W3SchoolÀÇ includeHTMLÀº À¥¼¹öÀÇ Æú´õ¿¡¼ ½ÇÇàÇØ¾ß Á¤»óÀûÀ¸·Î ½ÇÇàÀÌ µÈ´Ù.
innerHTML°ú Template StringsÀ» ÀÌ¿ëÇؼ HTML import¸¦ ´ëüÇغ¸ÀÚ.
import HTMLó·³ HTML¿¡ Á÷Á¢ Ãß°¡´Â ¾ÈµÇ°í ÀÚ¹Ù½ºÅ©¸³Æ®·Î Ãß°¡ÇØ¾ß ÇÑ´Ù.
¿©·¯¶óÀÎÀÇ ¹®ÀÚ¿À» »ç¿ë ÇÒ·Á¸é ´ÙÀ½°ú °°ÀÌ µÎ°¡Áö ¹æ¹ýÀ¸·Î »ç¿ëÇÑ´Ù.
ù° ¹æ¹ý
const bookStyle =
".book-style { "
+" display: block;"
+" width: 300px;"
+" background-color: gold;"
+"}";
µÑ° ¹æ¹ý
const bookStyle =
".book-style { \
display: block; \
width: 300px; \
background-color: gray; \
}";
Template Strings ȍ
Template StringsÀ» »ç¿ëÇÏ¸é ´ÙÀ½°ú °£´ÜÇÏ°Ô ÇÒ¼ö ÀÖ´Ù.
Template StringsÀº " ¹®ÀÚµµ ¾Æ´Ï°í ' ¹®ÀÚµµ ¾Æ´Ñ ¾îÆÛ½ºÆ®·ÎÇÇ ` ¹®ÀÚ¸¦ »ç¿ëÇÑ´Ù.
Template StringsÀ¸·Î Ç¥ÇöÇÏ¸é ´ÙÀ½°ú °°´Ù.
const bookStyle = `
.book-style {
display: block;
width: 300px;
background-color: gold;
}
`;
¹®ÀÚ¿ Áß°£¿¡ º¯¼öµµ ³ÖÀ»¼ö ÀÖ´Ù.
$¿Í Áß°ýÈ£¸¦ »ç¿ëÇØ º¯¼ö¸¦ »ç¿ë ÇÒ¼öµµ ÀÖ´Ù.
${º¯¼ö}
const markup = `
<div class="book-style">
<h2>${book.title}</h2>
<p>index = ${book.index}</p>
<p>price = ${book.price}</p>
</div>
`;
½ºÅ¸ÀÏ Class Ãß°¡
ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼ ½ºÅ¸ÀÏ Å¬·¡½º¸¦ Ãß°¡ÇÏ´Â ÇÔ¼ö´Â ´ÙÀ½°ú °°´Ù.
function writeStyles(styleNameId, cssText) {
var styleElement =
document.getElementById(styleNameId);
if (styleElement)
document.getElementsByTagName('head')[0].removeChild(styleElement);
styleElement = document.createElement('style');
styleElement.type = 'text/css';
styleElement.id = styleNameId;
styleElement.innerHTML = cssText;
document.getElementsByTagName('head')[0].appendChild(styleElement);
}
´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù.
¹®ÀÚ¿ bookStyleÀÇ ".book-style" Ŭ·¡½º°¡ Çì´õ¿¡ Ãß°¡µÈ´Ù.
writeStyles('book_style_id', bookStyle);
Ãß°¡µÈ ½ºÅ¸ÀÏÀÇ Å¬·¡½º¸¦ ³ëµå Æ®¸®¿¡¼ º¸¸é ´ÙÀ½°ú °°´Ù.
writeStyles°ú innerHTML »ç¿ë
writeStylesÀ» »ç¿ëÇØ Å¬·¡½º¸¦ Ãß°¡ÇÏ°í innerHTMLÀ» »ç¿ëÇØ º»¹®¿¡ ¿ä¼Ò¸¦ Ãß°¡ÇØ º¸ÀÚ.
template_test.html ÆÄÀÏ
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Template Strings Test</title>
<style>
</style>
</head>
<body>
</body>
<script src="mytemplate.js"></script>
<script>
writeStyles('book_style_id', bookStyle);
document.body.innerHTML = markup;
</script>
</html>
mytemplate.js ÆÄÀÏ
const book = {
index: 777,
title: 'C++ master',
price: '30000 won'
}
const markup = `
<div class="book-style">
<h2>${book.title}</h2>
<p>index = ${book.index}</p>
<p>price = ${book.price}</p>
</div>
`;
const bookStyle = `
.book-style {
display: block;
width: 300px;
background-color: gold;
}
`;
function writeStyles(styleNameId, cssText) {
var styleElement =
document.getElementById(styleNameId);
if (styleElement)
document.getElementsByTagName('head')[0].removeChild(styleElement);
styleElement = document.createElement('style');
styleElement.type = 'text/css';
styleElement.id = styleNameId;
styleElement.innerHTML = cssText;
document.getElementsByTagName('head')[0].appendChild(styleElement);
}
Ãâ·Â°á°ú´Â ´ÙÀ½°ú °°´Ù.
Å×½ºÆ® ÆÄÀÏ:
mytemplate.js
template_test.html
ÂüÁ¶)
https://wesbos.com/template-strings-html/
W3school. w3-include-html »ç¿ë
https://www.w3schools.com/howto/howto_html_include.asp
http://webpublishing.tistory.com/80
http://sjh836.tistory.com/52
|