Создание пользовательских _nested_ HTML-тегов с использованием x-tag

Я пытаюсь создать собственный HTML-тег, используя http://www.x-tags.org/ Mozilla. Я смог зарегистрировать тестовый тег и правильно его использовать; Однако я не могу найти хороших примеров вложенных тегов.

Например: <parent-tag parent-attribute="parent"> <child-tag child-attribute="child1"/> <child-tag>child2</child-tag> </parent-tag> Я могу получить родительский атрибут, используя 'accessors', но как мне получить дочерний атрибут или значение второго дочернего тега?

Я видел пару подсказок, что в жизненном цикле дочерних узлов я должен ссылаться на родительские узлы. Однако, как это работает, когда набор иерархии тегов работает вместе, чтобы создать результат:

<chart-tag width="300", height="300"> <chart-x-axis isVisible="false"/> <chart-y-axis min="0" max="100"/> <chart-legend> this is the legend</chart-legend> </chart-tag>

Чтобы преобразовать этот готовый теговый суп в диаграмму, мне нужно получить все значения из всех узлов. Должен ли я сам начинать обход узлов родителя / брата?

1 ответ

Я смог решить это, хотя я не уверен, что это лучший способ.

В родительском теге к моменту вызова "вставленного" жизненного цикла все дочерние узлы были проанализированы и могут быть доступны

xtag.queryChildren(this,'child-node-tag');

Ссылка на дочерние узлы может использоваться для прохождения его атрибутов: childnode.attribute1

Обратите внимание, что дочерние теги также должны быть зарегистрированы, хотя, по-видимому, нет необходимости "связывать" родительские и дочерние теги каким-либо прямым способом. Очень простой пример доступен по адресу https://github.com/falconair/dimple-chart/blob/master/dimple-chart-test.htm (посмотрите на код в начале истории версий, не знаю как это будет развиваться со временем).

Другие вопросы по тегам