shiyanhui / hero

A handy, fast and powerful go template engine.
https://shiyanhui.github.io/hero
Other
1.57k stars 96 forks source link

有没有可以在server 层设置key的struct #68

Closed jerry94test closed 5 years ago

jerry94test commented 5 years ago
return hero.View{
        Name: "hello/name.html",
        Data: name,
    }

类似于这样。。。 这样的话 很方便集成到其他web 项目中去

shiyanhui commented 5 years ago

现在还没有 可以说下具体想法 后续看下是否可以加上这个特性

jerry94test commented 5 years ago

就是你现在的模板数据 是在 你生成的模板包里去 操作 按正常的思维 应该是 在 业务层就已经吧数据处理好 通过模板引擎去渲染 我觉得可以增加一个 template.Data(s map[string]interface) 然后在模板中直接使用 {{ .a }} {{ a.c() }} 可以无缝集成到其他项目中 我用那个 gin + pong2(模板引擎)很头疼一点都不自由 你这个项目很右特点

shiyanhui commented 5 years ago

现在就可以这样做啊 以example中的userlist为例 可以把你要渲染的数据(template.Data什么的)作为参数传进UserList, 比如
<%: func UserList(userList []string, data template.Data, buffer *bytes.Buffer) %>这样的 不知道这样能不能满足你的需求

jerry94test commented 5 years ago

你没懂我意思啊 我这样来传值 我是不是需要这样来调用 {{ .data.a }} {{ data.c() }}

jerry94test commented 5 years ago

你看看这个 https://studyiris.com/example/hero/overview.html 我水平有限 刚学go 的。。。。

jerry94test commented 5 years ago

我懂了 就保持这个风格吧 感觉和以前使用 有很大区别

jerry94test commented 5 years ago

我感觉 你要多加几个例子

shiyanhui commented 5 years ago

对 这个用法和标准的template用法不一样 {{ .a }}这种写法不支持 可以看下hero的文档