我试图在我的所有网页上显示相同的标题(菜单)。 youtube 有一个关于此的视频。 (与上面的标题相同)。 但我似乎无法让它继续下去。 参考我的代码(mainmenu.js),如果我尝试将部分包含在 this.innerHTML 之后,我的 VS Code 会出现错误显示。
这可能是问题所在吗?为什么VS代码显示错误? 索引.html
!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
</head>
<body>
<div class="center">
<h1 align="center">Please Login </h1>
<form action='mainpage.html' method="post">
<!-- <label for="useremail">Email :</label>
<input type='email' id='useremail' name='useremail'><br></br>
<label for="userpw">Password :</label>
<input type='password' id='userpw' name='userpw'>
<br><br> -->
<table align="center">
<tr>
<td>
<input type="email" placeholder ='Email Address' name='' autofocus size="30" required>
</td>
</tr>
<tr>
<td>
<input type='password' placeholder ='Password' name='' size = "30" required>
</td>
</tr>
<tr>
<td>
<input type='submit' value = 'Login' size="30">
<input type='submit' value ='Forget' width='30'>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
主页.html
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Main Page</title>
<!--<link rel="stylesheet" href="style.css"> -->
<script type=module scr=mainmenu.js></script>
<mainheader></mainheader>
</html>
mainmenu.js
class mainmenu extends HTMLElement {
connectedCallback() {
this.innerHTML =
<h1>
test
</h1>
// <header>
// <nav>
// <ul>
// <li><a href="#">Lists</a></li>
// <li><a href="#">Sales</a></li>
// <li><a href="#">Purchases</a></li>
// <li><a href="#">Received</a></li>
// <li><a href="#">Payments</a></li>
// <li><a href="#">Adjustments</a></li>
// <li><a href="#">Reports</a></li>
// </ul>
// </nav>
// </header>
}
}
customElements.define('mainheader',mainmenu)
这就是你想做的事情
class MyHeader extends HTMLElement {
connectedCallback() {
this.innerHTML =
`
<header>
<nav>
<ul>
<li><a href="#">Lists</a></li>
<li><a href="#">Sales</a></li>
<li><a href="#">Purchases</a></li>
<li><a href="#">Received</a></li>
<li><a href="#">Payments</a></li>
<li><a href="#">Adjustments</a></li>
<li><a href="#">Reports</a></li>
</ul>
</nav>
</header>
`
}
}
customElements.define('my-header', MyHeader)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<my-header></my-header>
</body>
</html>
认为需要在类之后放入constructor()。