Я использую вязание для front-end и phoenix в качестве back-end. Каковы наилучшие методы создания шаблона, который будет унаследован всеми страницами? Он будет реализован в фениксе или вязах. Любые советы приветствуются.Лучшая практика настройки шаблонов в Elm или Phoenix
ответ
Elm не использует концепцию страницы и шаблоны для рендеринга HTML. Вместо этого он использует функции. И, будучи чистым функциональным языком программирования, наследование не распространяется на Elm.
Сказав это, вы можете имитировать наследование-как поведение, которое вы получили бы от сказать ... SiteMesh, с функциями Elm. (Примечание. SiteMesh использует шаблон дизайна декоратора наиболее заметно, поэтому на самом деле это не наследование). Вот пример (я вроде окрыления здесь):
template : Model -> (Model -> Html Msg) -> (Model -> Html Msg) -> (Model -> Html Msg) -> Html Msg
template model header body footer =
body []
[ div [ class 'header' ] (header model)
, div [ class 'body' ] (body model)
, div [ class 'footer' ] (footer model)
]
view : Model -> Html Msg
view model =
let
header model = p [] [ text "This is the header" ]
body model = p [] [ text "This is the body" ]
footer model = p [] [ text "This is the footer" ]
in
template model header body footer
В приведенном выше примере, функция template
занимает модель и три функции. Каждая из трех функций отвечает за отображение части представления (или страница). Это означает, что функция template
может использоваться для рендеринга общего содержимого, а предоставленные ей функции могут обрабатывать пользовательский контент.
- 1. Лучшая практика настройки доступа пользователей?
- 2. Лучшая практика для шаблонов модулей в node.js
- 3. Лучшая практика использования вложенных шаблонов в marionette.js
- 4. twig лучшая практика относительно расположения шаблонов
- 5. Лучшая практика для текстовых процессоров и шаблонов?
- 6. Лучшая практика настройки wsgi в корневом каталоге?
- 7. Лучшая практика делегирования && шаблонов источника данных
- 8. Лучшая практика Regex: несколько шаблонов или один с комбинированным выражением?
- 9. Лучшая практика для Mezzanine Настройки сайта/темы
- 10. Лучшая практика для расширения динамических шаблонов?
- 11. Лучшая практика настройки подключения PHP mysql
- 12. Лучшая практика для настройки версии интерфейса пользователя?
- 13. Sitecore Лучшая практика настройки стандартных значений
- 14. Лучшая практика передачи данных из Phoenix на Javascript
- 15. Лучшая практика Python: серия «или» или «в»?
- 16. Лучшая практика: UIViewController или UIView
- 17. Приложение Elm прекращает принимать трансляции канала phoenix
- 18. Лучшая практика для URL-адресов в механизмах шаблонов Java
- 19. Django переменных из шаблонов для просмотров - лучшая практика
- 20. Лучшая практика в Cocos2d
- 21. Лучшая практика для настройки и запроса версий в T-SQL
- 22. Лучшая практика для настройки параметра динамического маршрута в экспресс
- 23. Лучшая практика настройки javascript на новом веб-проекте
- 24. UI лучшая практика для реализации настройки с двумя опциями
- 25. Реагирующая разработка дизайна/Лучшая практика настройки высоты бутстрапа
- 26. Лучшая практика в сценарии
- 27. Лучшая практика в отношении событий
- 28. Лучшая практика настройки cassandra на ec2 с большим объемом данных
- 29. Лучшая практика репликации базы данных в codenameone
- 30. Лучшая практика Feature Feature Feature