網站平台
JavaScript 的作用是什麼?
В этой статье я расскажу о том, как разрабатывать веб-科姆·波尼·恩蒂斯 спользованием библиотеки Fusor 和 преимуществах данного подхода。
Такие компоненты можно будет затем собирать в полноценные веб-прилоniemприлоniemп React、Angular、Vue、Solid、Svelte и т.д.
АПИ Fusor состоит всего из 德夫烏赫 основных функций:
-
科茲達特 DOM-элемент,обернутый в специальный объект。
-
奧賓諾維奇 DOM-элемент,обернутый в специальный объект。
Плюс еще несколько редко используемых функций, таких как:
-
普羅魯奇塔 DOM-элемент из специального объекта。
Вам не обязательно что-либо знать об этом специальном объекте。
Создание DOM-элемента
Создание через JSX
import { getElement } from "@fusorjs/dom";const count=0;// Создание через JSXconst message=Seconds {count} elapsed;document.body.append(getElement(message)); // Получить
Мы использовали функции АПИ 蘇茲達塔特 и 波蘭語。
Альтернативное создание без JSX
import { div } from "@fusorjs/dom/html";const message=div("Seconds ", count, " elapsed"); // Создать
Обновление элемента DOM
import { getElement, update } from "@fusorjs/dom";let count=0;const message=Seconds {()=> count} elapsed; // Создатьdocument.body.append(getElement(message)); // ПолучитьsetInterval(()=> { count +=1; update(message); // Обновить}, 1000);
Мы использовали функцию АПИ 奧布諾維塔. Она обновляет элемент DOM и все его дочерние элементы 雷庫爾西夫諾. Она получает новые значения из вызовов функций, делая их 迪納米奇科米奇。
Дочерние элементы, атрибуты и свойства могут быть динамическими.
(toggle ? "on" : "off")}/>Обновления DOM будут происходить только в том случае, если новые значения отличаются 來自текущих。
Установка параметров
В основном устанавка параметров происходит как обычно:
Однако иногда вам потребуется различать 阿特瑞布提 и 斯沃伊斯特瓦. Чтобы указать их 提普вы можете добавить суффиксы _a
伊利 _p
к их названиям:
Чтобы добавить обработчик событиявы всегда должны использовать суффикс _e
:
"event handler"}/>Есть 和 дополнительные типы, 和 некоторые могут принимать 奧普伊蒂 для обеспечения полной совместимости со 萬維網聯盟網站:
"event handler"}/>Создание компонента
Создавайте свои компоненты, используя специальные объекты Fusorр функций И。 спользуйте заглавные буквы для имен ваших компнентов。
Вот пример компонента кнопки счётчика:
import { getElement, update } from "@fusorjs/dom";const CountingButton=(props)=> { let count=props.count ?? 0; // Состояние const self=( ); return self;};const App=()=> ( Three counting buttons
);document.body.append(getElement(App()));
科姆波涅恩特 CountingButton
обновляет только 馬魯什·哈斯特 DOM-элемента,не затрагивая остального приложения。
Когда вы разберетесь, как работает этот компонент, то посмотрите как можооа 科羅切с тем же результом:
const CountingButton=({ count=0 })=> ( );
Каждая функция обработчика событий получает два аргумента: стацльный ъекыт ъекы
Теперь, если вы разобрались 和 с этим примером, посмотрите и на кратчайшую 效果:
const CountingButton=({ count=0 })=> ( );
Мы добавили опцию update
, обновить компонент после вызова обработчика события, что эквивалентпппрееыдпреееыдрее
Жизненный цикл
Последний аспект, который нам нужно понять перед тем, как пристунец оиаи тем, как присн
Он состоит всего из четырех этапов:
-
科茲達特 科姆波涅恩特
-
計劃 к DOM
-
奧賓諾維奇 DOM
-
答案 來自 DOM
import { getElement, update } from "@fusorjs/dom";const IntervalCounter=({ count=0 })=> { console.log("1. Создать компонент"); return ( { console.log("2. Присоединить к DOM"); const timerId=setInterval(()=> { count++; update(self); console.log("3. Обновить DOM"); }, 1000); return ()=> { clearInterval(timerId); console.log("4. Отсоединить от DOM"); }; }} > Since mounted {()=> count} seconds elapsed );};const instance= ;const element=getElement(instance);document.body.append(element);setTimeout(()=> element.remove(), 15000);
Свойство mount
與 DOM 相關的部分包括: domполняется Эта функция принимает один аргумент: текущий специалумент: текущий спе уть друг ую функцию, которая выполняется
Мы полностью контролируем эти четыре этапа жизненного цикла。 斯拉夫·尼瓦塔特 компоненты, используя кастомные 阿西尼克赫羅涅尼耶 伊利 帕拉萊利尼耶 是的。
Это конец туториала
Как вы могли заметить из этого туториала、Fusor прост、лаконичен 和 ясен。 Чаще всего вам будет достаточно использовать только 德威 функции АПИ。 Тем не менее, он также предлагает множествовозмо
Итак, чтобы ответить на вопрос в заголовке, Fusor — это маленькаятбибли: о и с фрей沃卡米。
С чего начать
該應用程式位於 CodeSandbox 上。
Также ознакомьтесь с примером SVG аналоговых часов。
Вот пример реального приложения。
Стартовые шаблоны проектов:
-
JavaScript 腳本
-
TypeScript 應用程式
Спасибо