【问题标题】:Why my go service say that my "item" is not defined from my server?为什么我的 go 服务说我的“项目”不是从我的服务器定义的?
【发布时间】:2018-11-06 09:25:26
【问题描述】:

我运行我的 go 服务,然后出现这个错误,我不知道如何解决它(恐慌:模板:index.html:20:未定义函数“item”)它假设是针对我的 html但我怎么能解决它:

代码 HTML(角度)

<table id="mytable" class="table table-bordred table-striped">
  <tr>
   <th>ID</th>
   <th>Name</th>
   <th>Last Name</th>
   <th>Second Last Name</th>
  </tr>
  <tbody>
   <tr ng-repeat="item in ListOfUsers">
    <td ng-if="ListOfUsers.length!==0">{{item._id}}</td>
    <td ng-if="ListOfUsers.length!==0">{{item._name}}</td>
    <td ng-if="ListOfUsers.length!==0">{{item._lastName}}</td>
    <td><a class="btn btn-primary btn-xs" href="#!EditUser/{{item.Id}}">
    <span class="glyphicon glyphicon-pencil"></span></a>
    </td>
    <td><a class="btn btn-danger btn-xs"ref="#!DeleteUser/{{item.Id}}">
    <span class="glyphicon glyphicon-trash"></span></a>
    </td>
   </tr>
  </tbody>
 </table>

去服务

func main(){
    fs := http.FileServer(http.Dir("Resources"))
    go print10000numbers("world")
    print10000numbers("hello")
    router := mux.NewRouter()
    router.HandleFunc("/People",GetPeopleHandler).Methods("GET")
    router.HandleFunc("/InsertPeople",InsertPersonHandler).Methods("POST")
    router.HandleFunc("/UpdatePeople/{id}",UpdatePersonHandler).Methods("POST")
    router.HandleFunc("/DeletePeople/{id}",DeletePersonHandler).Methods("DELETE")
    router.Handle("/Resources/Angular/angular.js",http.StripPrefix("/Resources", fs))
    router.Handle("/Resources/JS/AppController.js",http.StripPrefix("/Resources", fs))
    tpl = template.Must(template.ParseGlob("Views/*"))
    fmt.Println("Listening")
    router.HandleFunc("/",chargeHtml).Methods("GET")
    http.ListenAndServe(":8081",router)
}
func chargeHtml(w http.ResponseWriter,r *http.Request){
    tpl.ExecuteTemplate(w,"index.html",nil) 
}

【问题讨论】:

    标签: angularjs go


    【解决方案1】:

    Go 模板解析器找到了 Angular 表达式并想要解释它们。它没有找到名为item 的函数。

    您需要应用其中一种解决方案

    1. 在模板中使用字符串{{`{{Your.Angular.Data}}`}}
    2. 使用{{"{{"}}{{"}}"}} 转义表​​达式
    3. 使用不同的delimiters

    tpl = template.Must(template.ParseGlob("Views/*").Delims("&lt;(",")&gt;"))

    在您的情况下,您不使用任何模板功能,因此您可以删除它们。

    来源How do I escape “{{” and “}}” delimiters in Go templates?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      相关资源
      最近更新 更多