Вы можете использовать селектор псевдо :host
в своей таблице стилей для применения стилей уровня хоста:
:host {
style: value
}
Вы можете легко ввести @stencil.sass
для своих таблиц стилей, ссылка здесь: [ 114] https://github.com/ionic-team/stencil-sass/blob/master/readme.md
Это даст вам большую функциональность благодаря вашим стилям в трафарете.
РЕДАКТИРОВАТЬ:
Я неправильно понял и теперь вижу, что вы хотите манипулировать за пределами компонента. Вы можете добавить элемент
в свой веб-компонент и добавить элементы в определенном стиле снаружи DOM веб-компонентов. Ссылка здесь: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot
Конечные автоматы
По моему мнению конечный автомат является самым легким способом смоделировать и обработать протоколы. Состояние было бы достигнуто несколькими переходами, касающимися допустимых полученных команд. Каждое состояние затем позволило бы только определенное подмножество команд.
Конечные автоматы используются в конструкции компилятора для лексического анализа программы. Я вижу проблему реализации протокола как особый случай этого.
Лучшие способы обработать протоколы как это состоят в том, чтобы пользоваться библиотекой. Почти каждый язык программирования, используемый на земле, имеет существование ранее, хорошо протестированные библиотеки для обработки http и smtp.
@fluffels
Zed Shaw (автор Полукровки) соглашается с Вами; он использует Ragel.
Я соглашаюсь с a28, лучший способ к также:
Запись Вашей собственной реализации протокола, вероятно, приведет к ошибочной реализации с проблемами совместимости.
Интересный инструмент, чтобы сделать это скручивается, который определенный для Python, а скорее умным и включает реализации многочисленных существующих протоколов (HTTP, SMTP, IRC и т.д.).