当前位置: 首页 > news >正文

dw做网站怎么换图片/今天国内最新消息

dw做网站怎么换图片,今天国内最新消息,ui设计培训机构有用吗,设计网站免费的背景说明html/template 它是 Go 官方维护的,但是在初次接触的时候,缺乏文档指南,看了很多零碎的相关资料,大概知道了 {{ . }} 的用法,翻看 官方DOC ...没办法立马给到我想要的答案:如何模版复用、循环渲染(慢慢研究可能会得到答案)... 所以本篇文章的是关于模版复用的实现尝试.…

背景说明

html/template 它是 Go 官方维护的,但是在初次接触的时候,缺乏文档指南,看了很多零碎的相关资料,大概知道了 {{ . }} 的用法,翻看 官方DOC ...没办法立马给到我想要的答案:如何模版复用、循环渲染(慢慢研究可能会得到答案)... 所以本篇文章的是关于模版复用的实现尝试.要获取更详细的用法,可以看这篇文章go html模板的使用

模版复用

1 在模版内,使用 {{ define "名称" }} 内容 {{ end }} 定义模版,如:

{{ define "header" }}

定义头

{{ end }}

{{ define "footer" }}

{{ end }}

2 再需要引用的模版内,使用 {{ template "名称" . }},引用模版,注意 . 别漏了,如:

{{ template "header" . }}

Hello world

{{ template "footer" . }}

以上就是模版复用的方法,实际在官方文档有相关介绍,但它只介绍了轮子,没告诉我们轮子使用范围:

import "html/template"

...

t, err := template.New("foo").Parse(`{{define "T"}}Hello, {{.}}!{{end}}`)

err = t.ExecuteTemplate(out, "T", "")

你看到这个例子,能立马想到模版里面如何复用吗?反正我是不能!

渲染数据

主要是通过 {{ . }},下面以我目前所了解的用法分享给大家:

1.直接渲染值:

...

{{ .name }}

...

2.加入语法(还有其它语法,只是指条路):

...

{{ range .Listdata }}

{{ .Title }} 

{{ end }}

...

{{ . }} 用法

1.使用 . 访问当前数据域:比如 range 里使用 . 访问的其实是循环项的数据域:

// 伪代码 传递的数据

Listdata := []struct {

Title string

Nickname string

}{{Title: "gang", Nickname: "sdfsf"},

{Title: "gang", Nickname: "sdfsf"}})

ctx.View("test.html")

}

...

{{ range .Listdata }}

这个时候, . 范围在 Listdata 数据域,所以可以使用 . 来访问对应字段

{{ .Title }} 

{{ end }}

...

使用 $. 访问绝对顶层数据域:

// 伪代码 传递的数据

Age := 12

Listdata := []struct {

Title string

Nickname string

}{{Title: "gang", Nickname: "sdfsf"},

{Title: "gang", Nickname: "sdfsf"}})

ctx.View("test.html")

}

...

{{ range .Listdata }}

这个时候, . 范围在 Listdata 数据域,所以可以使用 . 来访问对应字段

{{ .Title }}  ---> {{ $.Age }}

{{ end }}

...

使用 Iris 框架实际运用

文件目录结构

main.go

└── views

├── layouts

│ ├── layout_test.html

├── test.html

main.go 代码

package main

import (

"github.com/kataras/iris"

)

func main() {

app := iris.New()

app.RegisterView(iris.HTML("./views", ".html").Reload(true))

app.Get("/", func(ctx iris.Context) {

ctx.ViewData("Age", 12)

ctx.ViewData("Listdata", []struct {

Title string

Nickname string

}{{Title: "gang", Nickname: "sdfsf"},

{Title: "gang", Nickname: "sdfsf"}})

ctx.View("test.html")

})

app.Run(iris.Addr(":8080"))

}

layout_test.html 代码

{{ define "headertest" }}

Hello

{{ end }}

{{ define "footertest" }}

{{ end }}

test.html 代码

{{ template "headertest" . }}

Hello world

{{ range .Listdata }}

{{ .Title }} {{ $.Age }}

{{ end }}

{{ template "footertest" . }}

运行

$ go run main.go

Now listening on: http://localhost:8080

Application started. Press CMD+C to shut down.

浏览器

0397336be37e8a8a5c3b90e674e8bb53.png

其它文档

本文介绍只是冰山一角,可能还有其它更好的方法等待着我们发现,在发表本文之前,除了官方doc, 还主要参考了:

本作品采用《CC 协议》,转载必须注明作者和本文链接

Less is more.

http://www.lbrq.cn/news/1322389.html

相关文章:

  • 网站根目录验证文件在哪里/搜索引擎名词解释
  • 快速开发手机网站/国内搜索引擎排行榜
  • 网站建设注意什么/百度搜索引擎推广步骤
  • 中山小榄网站建设/整站优化排名
  • 沈阳做网站的科技公司/怎么快速刷排名
  • php网站 怎么取得后台管理权限/百度在线扫题入口
  • 慧聪网怎样做网站友情链接/开发一个app软件多少钱
  • 太原网站seo服务/seo服务公司怎么收费
  • 淘宝做网站的都是模板/seopeix
  • 怎么做下载类的网站吗/今天最新新闻10条
  • 规范网站建设/免费建网站的步骤
  • 网站顶级栏目403/公司推广策划
  • 领手工在家做的网站2019/长沙网站推广服务公司
  • php英文商城网站建设/网站公司
  • 公司网站建设费用多少/百度seo在线优化
  • 安顺网站建设公司/搜索引擎营销与seo优化
  • 东莞网站建设提供商/软件开发培训学校
  • wordpress多主题插件/seo推广服务
  • 西乡做网站的公司/西安专业网络推广平台
  • 做音乐网站的目的和意义/互动营销案例100
  • 盐田高端网站建设/seo如何优化网站推广
  • 合肥知名网站建设公司/aso优化app推广
  • 做文案应该关注的网站推荐/企业网站建设论文
  • 网站建设招代理/俄罗斯网络攻击数量增长了80%
  • 做一家开发网站的公司/搜索引擎营销广告
  • 前端和后端/整站优化案例
  • 涿州网站建设/凡科建站官网登录
  • 阳信住房和城乡建设厅网站/怎么制作自己公司网站
  • 哪里有免费的ppt模板下载/seo优化排名工具
  • 网站开发什么是会话/google搜索
  • 「一键召唤 007」:开源多智能体 JoyAgent-JDGenie 如何让你的 AI 产品从 Demo 到 真香 只差 Ctrl+C / Ctrl+V?
  • 【网安播报】Lazarus Group 利用开源包展开长期供应链间谍战
  • systmctl的作用,使用场景和用法
  • AWS云安全审计终极实战指南:构建自动化安全防线
  • python每日一题练习---简单题目
  • [硬件电路-111]:滤波的分类:模拟滤波与数字滤波; 无源滤波与有源滤波;低通、带通、带阻、高通滤波;时域滤波与频域滤波;低价滤波与高阶滤波。