@Prop()
похоже на чтение из тега для компонента
@Prop({"reflectToAttr": true})
сохранит двустороннюю привязку и обновит оба тега - для компонента и компонент для тега
Важно знать, что вам не разрешено обновлять ваши @Prop
переменные внутри компонента, пока вы специально не разрешите его с помощью свойства mutable. @Prop({"mutable": true})
Если вы хотите и то, и другое, используйте синтаксис, разделенный запятыми, например:
@Prop({"mutable": true, "reflectToAttr": true})
Для получения подробной информации, пожалуйста, перейдите сюда: https://stenciljs.com/docs/properties
Иногда я сталкивался с некоторыми проблемами, используянативные атрибуты, такие как "title", "focus"
и т. д. Правильным способом было бы использовать "data"
перед атрибутом вроде "data-title", "data-focus"
и в компоненте @Prop() dataTitle
, @Prop() dataFocus
.
Но, честно говоря, мне не нравится, что разработчик, использующий веб-компоненты, должен изучить синтаксис, специфичный для веб-компонента, поэтому я все равно использую нативные атрибуты. Что иногда приводит к ошибкам, которые вы можете легко исправить. Но это будет тема для другого вопроса.
@ Update
Я только что понял, что в новых версиях StencilJS это просто @Prop({"reflect": true})
, но идея все та же