Как использовать HTML списки в азоте - PullRequest
4 голосов
/ 31 октября 2011

Я хотел бы создать HTML-список в азоте, но не могу понять, как это сделать. В основном я хочу вывести:

<ul>
  <li>One</li>
  <li>Two</li>
</ul>

Я нашел некоторый источник для списков в apps / азота / src / elements / html в моем дистрибутиве Nitrogen, так что, похоже, есть элемент, который может это сделать, но я не пытался использовать компиляцию элемента. Может ли кто-нибудь предоставить фрагмент, который произведет вышеупомянутый html?

Ответы [ 2 ]

4 голосов
/ 03 ноября 2011

Вот версия, в которой используются элементы азота #list и #listitem вместо необработанного HTML.

body() ->
  List = ["Apple","Orange","Banana"],
  #list{
     body=[#listitem{body=Fruit} || Fruit <- ListOfFruit]
   }.

Для любых более сложных выражений я обычно переключаюсь с понимания списка на lists:map/2

1 голос
/ 01 ноября 2011

Просто используйте вашу строку erlang и перечислите манипулы вот так:

body()->
 Items = ["Joe Armstrong","Robert Virding","Mike Williams"],
 UL = "<ul>" ++ lists:flatten(["<li>" ++ X ++ "</li>" || X <- Items]) ++"</ul>",
 [
    #panel{body=[
                UL,
                #br{},
                #button {text="Continue", postback=continue}
    ]}
 ].

У вас есть список предметов, список может быть из базы данных или чего-либо еще. Элементы списка должны быть строками, чтобы это работало хорошо, если другой тип, то вам нужно сначала выполнить преобразование. Затем понимание списка, а затем вы сгладите весь список, чтобы быть одной вещью. Надеюсь, это поможет!

...