javascript - 在 Angular 项目中包含外部 JS 文件不能正常工作
问题描述
所以我有这种奇怪的行为,其中 Javascript 文件适用于我的 /login 页面,但仅当我在此特定页面上时,而不适用于其他页面。
因此,例如,当我重新加载 Chrome 选项卡以/login
使其完美运行时,脚本文件被接受。但是,当我往返于/login
它不再起作用时,带有我的小动画的脚本文件将无法运行并且我没有收到任何错误/home
/login
我的 login.js 文件位于 assets/scripts 文件夹中,如下所示:
if (window.location.pathname === '/login') {
window.onload = function () {
const sign_in_btn = document.getElementById("sign-in-btn");
const sign_up_btn = document.getElementById("sign-up-btn");
const container = document.querySelector(".containerLOGSIGN");
sign_up_btn.addEventListener("click", () => {
container.classList.add("sign-up-mode");
});
sign_in_btn.addEventListener("click", () => {
container.classList.remove("sign-up-mode");
});
}
}
这window.location.pathname
是仅在页面上时执行脚本/login
。window.onload
就是为了避免这个错误:“ uncaught typeerror cannot read property 'addeventlistener' of null”
最后,我在登录组件 HTML 中链接了脚本路径:
<script type="text/javascript" src="../../assets/scripts/login.js" ></script>
在 angular.json 配置文件中:
"scripts": ["apps/mreza-mladih-platform/src/assets/scripts/login.js"]
感谢您的帮助!
来自德国的问候
解决方案
我解决了我自己的问题。我使用 [ngclass] 并单击 html 文件上的侦听器以获得相同的结果。
推荐阅读
- arrays - 为什么 Perl 在布尔上下文中将具有单个 undef 值的数组评估为真?
- gdb - gdb 可以打印全局变量的历史吗?
- javascript - AWS SDK - 如何创建一个 lambda 函数以从用户池中列出组?
- r - 尝试为 NLP 生成频率不会产生真正的错误
- typescript - 打字稿通用索引类型
- javascript - javascript 小书签可以从 excel 或 CSV 文件中读取吗
- r - 如何使用 unicode 箭头导出高分辨率 ggplot 图形
- python - 在 Python 中记录到文件
- reactjs - 如何监控 Firestore 中的管理员访问权限?
- teamcity - 有没有办法在 TeamCity 中查看模板列表?