javascript - Vanilla Javascript 组件在另一个组件中不起作用
问题描述
我在 javascrip 中制作了一个搜索栏组件
const template = document.createElement("template");
template.innerHTML = `
<div class="search">
<div className="searchIcon">
<img src="searchIcon.png" alt="search" width="13rem" />
</div>
<input type="text" placeholder="Search" />
</div>
`;
class SearchBar extends HTMLElement {
constructor() {
super();
const el = this.attachShadow({ mode: "open" });
el.appendChild(template.content.cloneNode(true));
this.search = el.querySelector("input");
this.search.addEventListener("focus", () => {
this.search.style.outline = "none";
});
}
}
customElements.define("search-bar", SearchBar);
之后我创建了另一个组件,我尝试在其中插入自定义搜索栏:
const template = document.createElement("template");
template.innerHTML = `
<div class="navContainer">
<div class="titleContainer itemFlex">
<img src="arrow.png" alt="sageata" width="15rem" height="15rem" />
<h2 class="title">TITLURILE.RO</h2>
</div>
<div class="itemFlex searchContainer">
<search-bar></search-bar>
</div>
</div>`;
class TopBar extends HTMLElement {
constructor() {
super();
const element = this.attachShadow({
mode: "open",
});
element.appendChild(template.content.cloneNode(true));
}
}
customElements.define("top-bar", TopBar);
我的问题是如何使两个 js 文件相互通信,以便将我的搜索栏组件显示到顶部栏中。
解决方案
推荐阅读
- javascript - 使用 2 个点和圆弧半径计算路径圆弧上的中点
- node.js - nvm设置后如何解决Sourcetree节点路径问题?
- for-loop - 从 For 循环创建 PyQt5 变量
- php - Yii2 yiisoft/yii2-authclient 有时在移动端登录问题
- reasoning - 如何在 Grakn python 客户端中关闭推理
- javascript - 如何在 WordPress do_settings_section() 函数的输出上使用 JS 代码
- javascript - 为什么我的按钮会在单击时调用函数使我的页面重新加载
- react-native - React Native Flatlist 中的网格视图
- keycloak - 限制前端客户端与领域中的组/角色的连接
- bash - 从bash中的嵌套json键中提取值