4

全局变量$问题

模板keepzeal2327 次浏览
{{else if eq .Id $.topic.Category.Id}}

问下gorevel/src/gorevel/app/views/topic/New.html 这个文件第33行的上边这段代码里$.topic.Category.Id是什么意思这个变量是哪里来的没有向明白,还有这个$取全局变量的符号,全局变量怎么声明,谢谢

共4个回复
keepzeal 回复

还有个疑问 

{{else if eq .Id $.topic.Category.Id}}

.Id是string类型 topic.Category.Id是int64 这两个是咋对比的。我这里对比提示 error calling eq: invalid type for comparison

admin 回复
$.topic.Category

1、Topic模型中有个字段Category,指向Category模型字段Id

2、两种不同的类型比较,可以定义一个模板函数,转换成相同的类型再比较

admin 回复

全局变量

在控制器中:

c.RenderArgs["action"] = c.Action

在模板中:

{{set . "title" "首页"}}

{{$title2 := .title}}

 

yue 回复

那么请问,这个错误是怎么解决掉的呢? /topic/new.html    Template Execution Error (in topic/New.html): 6: executing "topic/New.html" at <eq .Id $.topic.Categ...>: error calling eq: invalid type for comparison 

这句还是理解不明白:{{if $.errors}}{{if eqis .Id $field.Flash}} selected="selected"{{end}}{{else if eq .Id $.topic.Category.Id}} selected="selected"{{end}}>

1.为什么要{{if $.errors}}呢? 

2.这个应该是给Edit时准备的吧?{{else if eq .Id $.topic.Category.Id}} selected="selected"{{end}} 那么,楼上说.Id 是字符型?Topic 和 Category 结构中不都定义是 int64吗?还有,改成{{else if eqis .Id $.topic.Category.Id}} 还是报错啊