Как заставить работать фундаментальный элемент FAST ui?
Я новичок в FAST и пытаюсь заставить FoundationElement работать. Я выполнил основные шаги, описанные в документации, но это не работает. это мой код:
import { html } from '@microsoft/fast-element';
import { FoundationElement } from '@microsoft/fast-foundation';
const template = html<Parent>`<p>I'm a parent</p>
<slot></slot>`;
class Parent extends FoundationElement {
connectedCallback() {
super.connectedCallback();
console.log('connection');
this.addEventListener('change', (e) => {
console.log('handle change event');
});
}
}
const parent = Parent.compose({ baseName: 'my-element', template });
provideFASTDesignSystem().register(parent());
Моя версия машинописного текста — 4.3, а пакет, который я использую, — Snowpack.
2 ответа
Код фреймворка прослужит от 5 до 10 лет.
Нативный код будет длиться всю жизнь.
Вы хотите расширить FASTElement. FoundationElement удаляется в версии V2.
Самый простой способ создать элемент — использовать декоратор @customElement:
import {customElement, FASTElement} from "@microsoft/fast-element";
const template = html`<template><p>I'm a parent</p><slot></slot></template>`;
const styles = css``;
@customElement({
name: "my-element",
template: template,
styles: styles,
})
export class MyElement extends FASTElement {}
FAST на самом деле не является «фреймворком», я думаю о нем как об утилитах, упрощающих создание веб-компонентов (наблюдаемые/привязки/директивы великолепны, кстати). Они не привязывают вас к определенной архитектуре приложения.