当前位置:首页 > 数码 > Templ-编写-Go-用户界面-HTML-如何在-中经常使用 (temple)

Templ-编写-Go-用户界面-HTML-如何在-中经常使用 (temple)

admin7个月前 (04-15)数码31

简介

templ[1]是一个在Go中编写用户界面的言语。经常使用templ,咱们可以创立可出现HTML片段的组件,并将它们组合起来创立屏幕、页面、文档或运行程序。

装置

咱们可以经过以下两种形式来装置templ:

go装置

首先,咱们须要装置Go1.20或更高版本。而后,在命令行中运转以下命令:

goinstall.com/a-h/templ/cmd/templ@latest

二进制装置

咱们也可以从GitHub的颁布页[2]下载并装置二进制文件。

创立便捷的模板组件

让咱们来创立一个便捷的templ组件。

首先,咱们须要创立一个新的Go名目。在命令行中口头以下命令:

mkdirtemplDemocdtemplDemogomodinit

而后,咱们创立一个蕴含组件的hello.templ文件。组件是一个函数,它蕴含templ元素、标志以及if、switch和for表白式。

packagemntemplhello(namestring){<div>Hello,{name}</div>}

接上去,咱们口头templgenerate命令生成Go代码。命令的输入如下:

Processingpath:templDemoGeneratedcodefor"templDemo\hello.templ"in2.2127msGeneratedcodefor1templateswith0errorsin2.7429ms

templ会生成一个名为hello_templ.go的文件,其中蕴含生成的Go代码。这个文件中蕴含一个名为hello的函数,它接受一个名为name的参数,并前往一个可渲染HTML的templ.Component。

funchello(namestring)templ.Component{//...}

接上去,咱们编写一个程序将组件渲染到stdout。创立一个名为main.go的文件。

packagemainimport("context""os")funcmain(){component:=hello("Tim")component.Render(context.Background(),os.Stdout)}

最后,咱们口头以下命令来运转程序。程序会将组件的HTML输入到stdout。

gorunmain.go

输入结果如下:

咱们可以将任何成功io.Writer接口的类型传递给组件的渲染函数,而不只仅是将os.Stdout传递出来。这象征着咱们可以将输入写入文件、bytes.Buffer或HTTP照应中。

Go

经过这种形式,咱们可以经常使用templ生成HTML文件,并将其作为静态内容托管在S3存储桶、CloudStorage中,或许将其用于生成HTML文件,而后经过转换流程转换为PDF或经过电子邮件发送。

运转第一个模板运行程序

让咱们降级之前的运行程序,经过HTTP提供HTML页面,而不是将其写入终端。

首先,咱们须要降级main.go文件。咱们可以经常使用templ.Handler函数将templ组件作为规范的HTTP处置器。

packagemainimport("fmt""/http""github.com/a-h/templ")funcmain(){component:=hello("Tim")http.Handle("/",templ.Handler(component))fmt.Println("Listeningon:3000")http.ListenAndServe(":3000",nil)}

运转程序后,咱们可以在阅读器中访问相应的页面:

图片

完结语

如今,咱们曾经引见了如何经常使用templ在Go中编写HTML用户界面。templ是一个成熟的工具,可以协助咱们极速构建web运行。

参考资料

[1]templ:

[2]GitHub的颁布页:


如何在HTML中使用JavaScript

本篇文章主要介绍如何在HTML中使用JavaScript,感兴趣的朋友参考下,希望对大家有所帮助。 <script>标签在HTML5中script主要有以下几个属性:async,defer,charset,src,type,async(可选):关键词:异步脚本,外部文件,立即下载;当标签中包含这个属性时会立即下载脚本(外部文件),只对外部脚本文件有效,下载的同时可以进行页面的其他操作,下载完成后停止解析并执行,执行后继续进行解析,但不能保证执行顺序。 <script src=js/ async=async></script> defer(可选):关键词:延迟脚本,外部文件,延迟加载;当标签中包含这个属性时,脚本可以再等到页面完全被解析或显示之后执行,只对外部文件有效,如果同时存在两个带有defer的脚本,由于延迟的原因,前者将会有限于后者执行。 <script src=js/ defer=defer></script>charset(可选):关键词:字符集大多数浏览器已经忽略它的值了,所以很少有人使用。 src(可选):关键词:外部引用表示需要引用的外部文件的地址。 type(可选):关键词:MIME(脚本语言的内容类型)为保证最大限度的浏览器兼容,type的属性值主要时候用的依旧是text/javascript,如果没有写这个属性,其默认值仍然为text/javascript。 注意:在引用外部文件,标签中不要加入其它JS代码,浏览器在解析时,只会下载src引用的外部脚本文件,表中内嵌入的代码将会被忽略。 <script>标签的位置通常,我们会把带有外部文件的的标签(包括CSS文件,JavaScript文件)的引用放在相同的位置,一般是在<head>标签里面。 但是在解析过程中一旦遇到多个JavaScript外部文件,就要等到所有的外部文件加载完成后,页面才能完全显示,所以通常我们会把它放在<body>标签里的底部,如下所示:在上面中提到过<script>中有defer这个属性,但是由于在HTML5中提到过,HTML5会忽略嵌入脚本所设置defer属性,目前只有IE4~IE7还支持defer属性,IE8以后完全遵循HTML5的标准,所以把<script>放在<body>标签里的底部依旧是最佳选择。 引用外部文件的优点利于维护:把所有的JavaScript的文件放在一起,不仅可以不触及HTML代码,而且更有利于开发者进行代码的编写和维护。 加速浏览:如果有多个HTML页面引用了同一个JavaScript外部文件,这个文件只会加载一次(缓存),也就是说可以加快页面的加载速度。 安全性:引用外部文件,如果用户查看HTML代码,将不会看到JavaScript的代码,比写在标签内安全性更高一些。 <noscript>标签字面意思,NO-script,没有script,也就是浏览器不支持JavaScript时,<noscript>标签中内容才会被显示,浏览器不支持脚本;浏览器支持脚本,但是JavaScript被禁用;以上两条符合任何一个,<noscript>标签内的内容都会被显示。 上图页面,给用户了一个信息,当浏览器不支持或禁用JavaScript是才会被显示,否则用户将永远不会看到,并且不会影响页面其他元素的显示。 总结:

如何在html页面中使用js变量

1、首先我们选择创建一个新的html5页面并完成初始化代码。

2、创建两个新的输入标记,一个用于用户输入变量,另一个用于用户更改变量的值。

3、编写脚本标记,将js代码写入内部,我们通过js获得两个输入标记元素。

4、执行按钮标记的click事件功能,也就是说,当用户单击“加一”按钮时,将调用此函数。

5、在函数中,我们首先将变量转换为数字,然后在数字中加一,以实现用js更改html变量的功能。

6、要刷新下一页,我们输入数字“18”并单击“加一”按钮。

7、我们可以看到输入框中变量的值变为19,变量的值变为js。

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: Go

“Templ-编写-Go-用户界面-HTML-如何在-中经常使用 (temple)” 的相关文章

Go-言语中并发的弱小效劳 (go语言语法很奇怪啊)

Go-言语中并发的弱小效劳 (go语言语法很奇怪啊)

施展效率和照应才干 并发是现代软件开发中的一个基本概念,它使程序能够同时口头多个义务,提高效率和照应才干。在本文中,咱们将讨论并发在现代软件开发中的关键性,并深化了解Go处置并发义务的共同...

在-使用-应用-中构建高性能-Echo-Web-Go (在使用应急法压缩时间时,不一定)

在-使用-应用-中构建高性能-Echo-Web-Go (在使用应急法压缩时间时,不一定)

Echo是一个高性能且易用的框架,用于构建Go语言编写的Web应用。它具备灵活的路由功能、方便的请求处理、强大的中间件支持和简单的JSON操作,非常适合快速开发API服务和Web应用。 快速...

etcd-的依赖问题最终得到解决-Go (etcd的英文全称)

etcd-的依赖问题最终得到解决-Go (etcd的英文全称)

几年前,我经常接触到一组微服务相关组件:gRPC、gRPC 网关、etcd、Protobuf 和 protoc-gen-go。一开始,它们都能很好地协同工作,并且随着新版本的发布而持续更新。...

Go-内存调配优化-在结构体中充沛应用内存 (go 内存)

Go-内存调配优化-在结构体中充沛应用内存 (go 内存)

在经常使用Golang启动内存调配时,咱们须要遵照一系列规定。在深化了解这些规定之前,咱们须要先了解变量的对齐形式。 Golang的unsafe包中有一个函数Alignof,签名如下: f...

的原因-Go-Map-语言不支持并发读写 (的原因英语)

的原因-Go-Map-语言不支持并发读写 (的原因英语)

在Go语言的设计中,为了防止数据竞态,不同于一些其他语言,map并没有提供内置的锁机制。这样设计的目的是为了鼓励开发者使用更加精细的同步措施,以适应不同的并发场景。 Map的数据结构...

内存效率-多用途-语言中使用切片代替数组的优点-动态大小-Go (内存使用效率)

内存效率-多用途-语言中使用切片代替数组的优点-动态大小-Go (内存使用效率)

引言 在 Go 语言中,数组是一种固定长度的数据结构,而切片则是一种可变长度的数据结构。虽然数组和切片都可以存储相同类型的数据元素,但切片在使用上有其独到的优势,本文将通过介绍切片的特性来解释为...

14条超乎想象的Go接口最佳实践

14条超乎想象的Go接口最佳实践

近年来,越来越多的开发者开始关注 Go 语言,它以其高效、简洁和高并发性而闻名。在 Go 语言中,接口是一个非常强大的特性,它可以帮助我们定义和实现不同的行为。本文将介绍 Go 语言中接口设计的一...