2016-10-03 2 views
0

Предположим, у меня есть страница, это заголовок и тело. В заголовке есть ссылки, а при щелчке - изменения тела, но заголовок остается. Чтобы создать это с помощью библиотеки html/template, это легко, но также кажется немым, если я просто отправлю обратно целую новую страницу (каждый раз получая информацию в заголовке из базы данных). Как я могу отключить шаблоны тела в зависимости от url.Минимальные отличия от шаблонов golang?

Вот что у меня есть:

`

{{template "GlobalNav"}} 
{{template "GroupHeader" .Header }} 
{{ if eq .Active "" }} 
{{ template "GroupBody" .Body }} 
{{ else if eq .Active "papers" }} 
{{ template "GroupPapers" .Body }} 
{{ else if eq .Active "projects" }} 
{{ template "GroupProjects" .Body }} 
{{ end }}` 

Server Side: 

`http.HandleFunc("/g/", Groups) 
http.HandleFunc("/g/papers", GroupsPapers) 
http.HandleFunc("/g/projects", GroupsProjects) 
func Groups() { 
header := fromDBHeader(id) 
body := fromDBMain(id) 
render Home template ... 
} 
func GroupsPapers() { 
    header := fromDBHeader(id) 
    body := fromDBPapers(id) 
    render Paper template ... 
    } 
func GroupsProjects() { 
header := fromDBHeader(id) 
body := fromDBProjects(id) 
render Project template ... 
} 

`

ли время для JS?

ответ

0

попробуйте этот способ поместить html-файлы в папку html, добавив к нему html и js-файлы.

func webServer() { 
http.Handle(
    "/", 
    http.StripPrefix(
     "/", 
     http.FileServer(http.Dir("html")), 
    ), 
) 
http.ListenAndServe(":9000", nil) 

}

И ВЫБРАТЬ ЕГО ПОД http://localhost:9000/

Смежные вопросы