golang 模板引擎中几个使用的点的记录
2018年8月7日
用php开发习惯了,突然用golang写页面,感觉有点别扭,特别是golang模板引擎的函数的使用,感觉非常难用,没有php混写方便!下边介绍一下golang模板引擎中我们老是不知道怎么写的地方!
首先我们介绍下golang模板引擎中自定义管道函数,说白了就是自己定义了处理页面中变量的函数!首先说怎么传递到页面中,自己写的函数!
golang模板中有这样一个函数,看下边
1 |
template.New("定义模板的名称").Funcs(template.FuncMap{"unescaped": unescaped}).Parse("解析的静态文件") |
上边重要的就是Funcs 这个方法,这个方法可以把你自定义的函数传递到页面中。
看下我自定义的函数,就是上边的unescaped
1 |
func unescaped(x string) interface{} { return template.HTML(x) } |
上边的函数就是让string 不格式,原样输出
所以,你可以定义n多方法都可以放到Funcs中,供页面调用
1 |
{.str|unescaped} |
下边再记录一个点,很不爽的,多个结构嵌套的情况,看示例有时候真不知道怎么写!
让我们看看嵌套中怎么写把
1 2 3 4 5 6 7 8 |
{{range $k, $v := .sortroute}} <span class="pay-title-text">{{$v}}</span> {{range $k2, $vr := index $.route $v}} <a class="tools-item clearfix" href="{{$vr.Rk}}" > <span class="tools-item-title">{{$vr.Title}}</span> {{end}} {{end}} |
看到了码,两层嵌套,第二层嵌套用 index $.route $v,是不是很不爽,记住就行啦