Я думаю, что это хороший и интересный вопрос. Есть несколько альтернатив. Я предполагаю, что вы могли бы внедрить модель в скин и связать напрямую, но это кажется неправильным, потому что я думаю, что скин должен быть тесно связан с компонентом - если компонент меняет свою ссылку на модель, он автоматически изменяется в скинах. И в любом случае это только преувеличивает проблему, которую вы упомянули.
Вы можете создавать идентификаторы в скине и управлять ими из модели. Например
SKIN: label id="infoLabel"
COMPONENT: [SkinPart] var infoLabel:Label
creationComplete {
BindingUtils.bindProperty(this, 'infoLabel', model, 'infoLabel');
}
Это решит вашу проблему. Нет повторного обслуживания между скинами одного и того же компонента. Однако использование BindingUtils обходится дорого. Во-первых, не так очевидно, что связано с чем - использование пути {} намного более очевидно. Во-вторых (я полагаю, что это на самом деле только часть первого пункта), вы можете запутать менее способных разработчиков, которым приходится читать ваш код и выяснять, что происходит.
РЕДАКТИРОВАТЬ: Предполагается, что ваш компонент находится в AS3. Если ваш компонент находится в MXML, я думаю, вы можете просто выполнить связывание, как обычно в MXML.