首页 > 其他分享 >NOTE_vanilla+typescript

NOTE_vanilla+typescript

时间:2022-11-17 09:47:19浏览次数:44  
标签:threejs typescript vanilla counter ts element NOTE learn vite

E:\song\threejs_learn\vite-project\index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + TS</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
  </body>
</html>

E:\song\threejs_learn\vite-project\src\counter.ts

/**
 * 1. 计数器
 * @param element html元素
 */
export function setupCounter(element: HTMLButtonElement) {
  // 计数器初始值
  let counter = 0;
  // 回调函数
  const setCounter = (count: number) => {
    counter = count;
    element.innerHTML = `count is ${counter}`;
  };
  // 添加click事件
  element.addEventListener("click", () => setCounter(counter + 1));
  setCounter(0);
}

E:\song\threejs_learn\vite-project\src\main.ts

/**
 * 1. vanilla + typescript
 * 2. 原生加ts大法
 * 3. 这是使用vite创建的模板
 */
import "./style.css";
import { setupCounter } from "./counter";

document.querySelector<HTMLDivElement>("#app")!.innerHTML = `
  <div>
    <a href="https://vitejs.dev" target="_blank">
      <img src="/vite.svg" class="logo" alt="Vite logo" />
    </a>
    <a href="https://www.typescriptlang.org/" target="_blank">
      <img src="/typescript.svg" class="logo vanilla" alt="TypeScript logo" />
    </a>
    <h1>Vite + TypeScript</h1>
    <div class="card">
      <button id="counter" type="button"></button>
    </div>
    <p class="read-the-docs">
      Click on the Vite and TypeScript logos to learn more
    </p>
  </div>
`;

setupCounter(document.querySelector<HTMLButtonElement>("#counter")!);

标签:threejs,typescript,vanilla,counter,ts,element,NOTE,learn,vite
From: https://www.cnblogs.com/zhuoss/p/16898369.html

相关文章