Golang + JQuery + Smarty:如何遍历对象?
Golang + JQuery + Smarty: How to iterate over object?
Golang 服务器正在将 schools
对象发送到 print.tpl
smarty 文件,例如:tplData["Schools"] = schools
在 print.tpl
文件中,我可以使用以下方法打印它:
{{range $.Schools}}
{{.Course}} -- {{.Duration}}
{{end}}
在 print.tpl
文件中,我需要使用 https://fullcalendar.io JQuery 组件,它可以很好地处理静态数据,如下所示:
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today myCustomButton',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
events: [
{
title : 'event1',
start : '2017-08-01'
}
]
});
});
</script>
问题:如何在 JQuery 函数中迭代 $.Schools
对象?
注意:在 Golang 中托管 REST 并调用 JQuery 是一种选择,但我不想走那条路。
更新:根据@mkopriva 精彩回答新的增强代码:
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today myCustomButton',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
events: [
{{range $.Schools}}
{
title : {{.Course}},
start : {{.Duration}}
},
{{end}}
]
});
});
</script>
Go 模板支持 js 和 css 并且 actions ({{ ... }}
) 的评估是上下文相关的,因此您可以在 js 中迭代学校你做 html。虽然我不知道 smarty 是什么,所以如果这不起作用你需要检查 smarty 的文档。
events: [
{{range $.Schools}}
{
title: {{.Course}},
start: {{.Duration}}
},
{{end}}
]
Golang 服务器正在将 schools
对象发送到 print.tpl
smarty 文件,例如:tplData["Schools"] = schools
在 print.tpl
文件中,我可以使用以下方法打印它:
{{range $.Schools}}
{{.Course}} -- {{.Duration}}
{{end}}
在 print.tpl
文件中,我需要使用 https://fullcalendar.io JQuery 组件,它可以很好地处理静态数据,如下所示:
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today myCustomButton',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
events: [
{
title : 'event1',
start : '2017-08-01'
}
]
});
});
</script>
问题:如何在 JQuery 函数中迭代 $.Schools
对象?
注意:在 Golang 中托管 REST 并调用 JQuery 是一种选择,但我不想走那条路。
更新:根据@mkopriva 精彩回答新的增强代码:
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
header: {
left: 'prev,next today myCustomButton',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
events: [
{{range $.Schools}}
{
title : {{.Course}},
start : {{.Duration}}
},
{{end}}
]
});
});
</script>
Go 模板支持 js 和 css 并且 actions ({{ ... }}
) 的评估是上下文相关的,因此您可以在 js 中迭代学校你做 html。虽然我不知道 smarty 是什么,所以如果这不起作用你需要检查 smarty 的文档。
events: [
{{range $.Schools}}
{
title: {{.Course}},
start: {{.Duration}}
},
{{end}}
]