本篇记录的是页面的跳转,上一篇写了如何配置环境就不再赘述
编写页面跳转代码
在项目的根目录下,创建一个名为 navigation.ts
的文件。这将是我们实现页面跳转功能的主要文件。在 navigation.ts
文件中,我们将定义一个名为 Navigator
的类,该类将处理页面跳转的逻辑。
typescriptCopy code
class Navigator {
public navigateTo(url: string): void {
window.location.href = url;
}
public navigateToNewTab(url: string): void {
window.open(url, '_blank');
}
public reloadPage(): void {
location.reload();
}
}
在上面的代码中,我们创建了一个名为 Navigator
的类,并定义了三个方法:navigateTo
、navigateToNewTab
和 reloadPage
。
navigateTo
方法接受一个 URL 参数,并使用window.location.href
将页面跳转到指定的 URL。navigateToNewTab
方法也接受一个 URL 参数,它使用window.open
在新标签页中打开指定的 URL。reloadPage
方法用于重新加载当前页面,它调用了location.reload
方法。
这些方法提供了基本的页面跳转功能,您可以根据自己的需求进行扩展和定制。
使用页面跳转功能
在项目的根目录下,创建一个名为 index.html
的文件,并添加以下内容:
htmlCopy code
<!DOCTYPE html>
<html>
<head>
<title>Page Navigation Demo</title>
<script src="navigation.js" defer></script>
</head>
<body>
<h1>Page Navigation Demo</h1>
<button id="navigateButton">Navigate to Google</button>
<button id="newTabButton">Open Google in New Tab</button>
<button id="reloadButton">Reload Page</button>
<script>
const navigator = new Navigator();
const navigateButton = document.getElementById('navigateButton');
navigateButton.addEventListener('click', () => {
navigator.navigateTo('https://www.google.com');
});
const newTabButton = document.getElementById('newTabButton');
newTabButton.addEventListener('click', () => {
navigator.navigateToNewTab('https://www.google.com');
});
const reloadButton = document.getElementById('reloadButton');
reloadButton.addEventListener('click', () => {
navigator.reloadPage();
});
</script>
</body>
</html>
在上面的代码中,我们首先引入了 navigation.js
脚本文件,该文件将在下文中生成。然后,我们创建了三个按钮,分别用于不同的页面跳转操作。每个按钮都有一个唯一的 ID,以便在 JavaScript 代码中获取它们。
在 <script>
标签中,我们创建了一个 Navigator
实例,并使用 getElementById
方法获取按钮元素。然后,我们为每个按钮添加了点击事件监听器,以调用相应的方法。
编译和运行
在项目的根目录下,运行以下命令来编译 TypeScript 代码:
Copy code
tsc navigation.ts
上述命令将生成一个名为 navigation.js
的 JavaScript 文件。
现在,我们可以通过在浏览器中打开 index.html
文件来查看最终效果。当我们点击不同的按钮时,页面将根据所选操作进行相应的跳转或重新加载。
结语
通过这篇博客,我们使用 TypeScript 实现了页面跳转的功能。