Я ищу ресурсы о том, как сделать веб-компоненты, которые могут принимать позиционные аргументы для детей. Что-то вроде:Как создать компоненты, которые могут принимать позиционные дочерние элементы в качестве аргументов (Dart)?
<x-editable-component>
<span>{{value}}</span> // this could be any uneditable element
<textarea>{{value}}</textarea> //could be any editable element
</x-editable-component>
выше элемент будет отображать пролет когда в редактируемых == ложь, и текстовое поле, когда редактируемые == верно. editable - это статическая переменная, наблюдаемая во всем мире.
Я думаю, что можно было бы получить подобное поведение с наследованием. Однако мне было интересно, возможно ли это сделать в описанном выше композиционном стиле. Если компонент (x-editable-component) просто ожидает двух дочерних элементов, один ребенок будет отображаться при редактировании, другой дочерний элемент будет отображаться, когда он не будет выбран.
Чтобы быть ясным, я хочу гибко писать любые два дочерних элемента в виде дочерних элементов x-editable-component, поэтому, возможно, где-то еще дальше. У меня есть x-редактируемый компонент, написанный как таковой.
<x-editable-component>
<div>{{value}}</div> // this could be any uneditable element
<input>{{value}}</input> //could be any editable element
</x-editable-component>
Возможно ли это?
Используя свой код в качестве шаблона, я был в состоянии получить мой собственный код работает. Действительно интересно это бирка вещь. С одной стороны, это как бы разрывает wysiwyg характер декларативных взглядов. С другой стороны, это позволяет вам абстрагироваться (скрывать) ненужные данные. Я считаю, что это было уместно в этом случае, но это требует некоторого рассмотрения, поскольку вы нарушаете декларативное отображение из вашего собственного кода в структуру dom. –