一尘不染

比较模板中的字符串

go

我有以下模板:

{{if . eq "login failed"}}
<span class="text-error">Incorrect username or password</span>
{{else if . eq "login success"}}
<span class="text-success">You have successfully logged in!</span>
{{end}}

我在执行模板时传递了一个字符串。

但是,出现以下错误:

executing "login.html" at <.>: can't give argument to non-function .

如何比较模板中的字符串?


阅读 325

收藏
2020-07-02

共1个答案

一尘不染

eq是函数,而不是运算符。它以以下形式调用:(eq <x> <y>不是<x> eq <y>)。

您可以通过将操作数从的侧面移动eq到之后来修复模板:

{{if eq . "login failed"}}
<span class="text-error">Incorrect username or password</span>
{{else if eq . "login success"}}
<span class="text-success">You have successfully logged in!</span>
{{end}}
2020-07-02