Pull to refresh
6
0
Send message
Понятно. На мой взгляд в данном случае профита не много, объясню почему:
когда мы будем писать обработчики событий, в них нам все равно потребуется работать с дом деревом. В итоге это рискует вылиться и правда в какой-то недо-React) Ведь мое дерево не является виртуальным и не будет автоматически перестраиваться при изменении переменных. Это значит, что прийдется или селектить необходимые элементы и что-то в них менять (за что боролись на то и напоролись), либо вызывать полную перерисовку дерева (это некрасиво).
Спасибо Вам за отзыв!
1) согласен, я расширил список тегов. Кроме этого, можно использовать функцию tag для создания любого тега. Интерфейс тот же, только первым параметром идет название тега:
htmlmake ->
  @tag "car", "bmw x6"

Результат:
<car>bmw x6</car>

2) Насколько я понял, имеется ввиду такой интерфейс:
htmlmake ->
  @span data: {hello: "world"}

Ожидаемый результат:
<span data-hello='world'></span>

Все верно? Тогда я не понял вторую часть «сразу callback-и чтобы можно было задавать», прошу привести пример.
3, 4) Согласен. Сейчас о всем функционале пока что только по тестам и можно судить.
Спасибо за наводку! Исправлено. Итоговый размер: 4кб
Очевидно, не все проекты заказчиков написаны на реакте)
Какой ужас! А ведь Underscore просто монстр в сравнении с моей скромной функцией) Спасибо за замечание, будем худеть!
Согласен. Применение этой библиотеки имеет смысл только когда в готовом js компоненте неожиданно потребовалось добавить совсем немного html. Ну и плюс к этому она весит 40кб в минимизированном виде. Так что добавим еще тех, кто пишет мобильные версии сайтов.
Вам никто не мешает писать более строго:
  htmlString = htmlmake ->
    @div class: "wrapper", ->
      @h1 {}, "Привет, Хабр!"


Вложенную структуру так все-равно удобнее читать, чем $("..."). ИМХО, опять же.
Я посчитал, что атрибут class является самым востребованным, поэтому в случае, если есть второй параметр (строка или коллбэк) и первый параметр является строкой, то будем считать, что это класс создаваемого элемента. Подробнее про варианты использования можно подсмотреть в тестах . Первый параметр считаем контентом элемента, если второго параметра нет.

Information

Rating
Does not participate
Registered
Activity