Показать сообщение отдельно
  #1 (permalink)  
Старый 02.02.2016, 17:30
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

WebPack ShadowDOM emulator
Есть ли уже какое-то расширение для этого или мне написать его?

Решение просто, ко всем нотам в темплейте добавляется уникальный аттрибут. для нод в одном темплейте _sh-0 для нод в другом _sh-1 и так далее. корневому элементу каждого темплейта задается _host-0 _host-1 и так далее.

далее мы указываем файл со стилем для этого темплейта где к каждому селектору в конце добавляем строку [_sh1], а все селекторы псевтокласса :host заменяем на [_host-1] и так далее.

Таким образом достигается изоляция стилей компонентов. Я стырил это у ангуляра 2, но пока это происходит все рантайм и мне это не нравится, по скольку я начал юзать вебпак (ну там для динамического бинда анбинда и перереднеринга изменившихся компонентов) то я думаю написать какую то тулзу не связаную с ui2 для достижения инкапсуляции компонентов. и это может быть какой то лоадер для вебпака.

есть ли уже что-то подобное?

п.с. всякие костыли типа бема не предлагать, цель этого всего именнно ИЗБАВИТЬСЯ от подобных хаков и начать нормально жить

п.с. вообще возможно я исключу эту возможность из рантайма юишки и сделаю отдельным независимым решением для вебпака. которое просто удобно будет юзать с юишкой вместе, да и вообще чем угодно. задача то элементарна

п.с. внешние стили все ровно смогут проникать внутрь наших элементов но это плюс а не минус. смысл в том чтобы конфликта имен классов в компонентах не было и все, а задавать какие-то общие стили для наших компонентов это хорошо, и этого нет в шадоу дом, там двусторонняя изоляция

Последний раз редактировалось Mаxmaxmаximus, 02.02.2016 в 17:36.
Ответить с цитированием