基本情報
- Go バージョン: go1.4.2 darwin/amd64
- オペレーティング システム: Mac OS X 10.10.5
goとginに基づいて書かれた小さな Web プロジェクトに取り組んでいます。これが私のgolangコードです。実行後go run test.go
、8089 でリッスンする Web サーバーができました。
Golang test.go
package main
import "github.com/gin-gonic/gin"
import "net/http"
func main() {
router := gin.Default()
router.LoadHTMLGlob("templates/*")
router.GET("/index", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", gin.H{
"scheme": "http",
"domain": "meican.loc",
})
})
router.Run(":8089") // listen and serve on 0.0.0.0:8089
}
バックエンドで生成された html コードには、フロントエンドの JavaScript エンジン (Angular.js としましょう) で使用されるテンプレートが含まれている必要があります。
したがって、テンプレート コードは次のscript
ようにタグ内にあります。
templates/index.html の一部
<script type="text/template" charset="utf-8">
<div data="{{.scheme}}://{{.domain}}/qr"></div>
<div data="{{.scheme}}://{{.domain}}/qr"></div> <!-- problem here -->
</script>
{{.domain}}
2回目に使うと違う結果になりました。ブラウザを更新し、ソース コードをチェックアウトしました。それから私はこれを得ました:
ブラウザのソースコードの結果
<script type="text/template" charset="utf-8">
<div data="http://meican.loc/qr"></div>
<div data="http://"meican.loc"/qr"></div> <!-- problems here -->
</script>
2 番目div
には 2 つの余分な二重引用符があります。
なぜこれが起こるのですか?そして、この問題を解決するにはどうすればよいですか?