vecty.js_基于 gopherjs 的一种类似 React 的开发框架

更新日期:2020年09月02日 投稿作者:分类目录网 围观人数:1485

vecty.js

vecty简介:基于 gopherjs 的一种类似 React 的开发框架

gopherjs 是把 go 编译为 js 的工具。 vecty 是基于 gopherjs 的一种类似 react 的开发框架。


安装 gopherjs 和 vecty

go get -u github.com/gopherjs/gopherjs
go get -u github.com/gopherjs/vecty

vecty 自带的例子在 example 目录,有 todomvc 和 markdown 编辑器。


简单的例子

package main

import (
	"strconv"

	v "github.com/gopherjs/vecty"
	"github.com/gopherjs/vecty/elem"
	"github.com/gopherjs/vecty/event"
)

func main() {
	v.SetTitle("title message swt")
	v.RenderBody(&MyComponent{})
}

type MyComponent struct {
	v.Core
	btnCount int
}

func (mc *MyComponent) onButtonClick(e *v.Event) {
	println("click my component button")
	mc.btnCount++
	v.Rerender(mc)
}

func (mc *MyComponent) Render() v.ComponentOrhtml {
	return elem.Body(
		elem.Button(
			v.Markup(
				event.Click(mc.onButtonClick),
			),
			v.Text("btn"+strconv.Itoa(mc.btnCount)),
		),
	)
}


运行它

在 $GOPATH/src/ele/gopherjs/t1 文件写下这个文件,命名为 t1.go。然后 cd 到 t1 文件夹,运行命令 gopherjs serve,将会在 localhost:8080 运行服务,使用浏览器访问 http://localhost:8080/ ,则可以查看运行结果。


解释

这个例子中,定义了组件 MyComponent,需要内嵌 vecty.Core 结构,实现 vecty.Component 接口要求的 Render 方法。

Render 方法负责构建代表组件的 html。

再看 main 方法,调用 vecty.SetTitle 方法设置标题,调用 vecty.RenderBody(&MyComponent{}) 方法把 MyCompoent 组件渲染为文档的 body。

回到 MyComponent 的 Render 方法,在 Button 内包含 Markup, Markup 内包括 event.Click,给 Button 附加了 click 事件处理函数 onButtonClick。

事件处理函数 onButtonClick 修改了此组件的 btnCount 字段,然后调用 vecty.Rerender 方法重新渲染此组件,界面上就能看到按钮上的文字被改变了。


声明:本站资源收集于网络,但不代表本站的观点和立场,具体内容可自行甄别,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

Agile Lite:一个基于HTML5+CSS3+JS的移动应用开发框架

Agile Lite 是一个基于HTML5+CSS3+JS的移动应用开发框架,同时支持单页和多页模式,并提供无关UI和可扩展的框架结构. Agile Lite 是一个基于HTML5+CSS3+JS的移动应用开发框架,同时支持单页和多页模式,并提供无关UI和可扩展的框架结构 Agile Lite支持jQuery和Zepto双引擎,但是同时仅可以使用其中之一,建议使用jQuery Agile移动应用前端框架既解决了前端UI层的显示,耦合了高性能的UI展示效果,也提供

SEO短格式内容与长格式内容(分类目录何时使用哪个?)

我们都知道制定可靠的内容策略的重要性以及正确解决方案可以实现的指数级增长。但是,在内容营销界也存在许多误解。 在过去的某个时候,您可能已经得到建议,说一段内容越长,效果越好。或者,您网站上的每个内容至少应包含2,000个字。  事实是这些不是真的,它们也不是不真实的-如果这有意义吗? 简短和长篇内容均在成功的内容营销策略中占有一席之地,并且两者在您的营销工具箱中都是非常强大的工具。 您只需要在正确的上下文中选择正确的内容形式

db是什么意思?(.db文件的正确打开方式)

db是什么意思?(.db文件的正确打开方式) db是什么意思?   db一般用记事本打开。db是datebase的缩写,是数据库文件。 用UltraEdit软件打开db文件:   1.点击打开网页浏览器,输入百度网址打开百度首页,然后再搜索窗口输入UltraEdit,然后点击百度一下。   2.点击百度一下以后出现免费下载的网站链接,找到

STDLib_支持科学和数字化的基于 web 的机器学习应用的开源库

STDLib 简介:支持科学和数字化的基于 web 的机器学习应用的开源库 STDLib是一个基于 JavaScript 和 Node.js 应用的开源库,如果您正在寻找一种在浏览器中运行,支持科学和数字化的基于 web 的机器学习应用,STDLib 能满足你的需要。 这个库能提供全面而先进的数学和统计学上的功能,来帮助你构建高性能的机器学习模型。你同样也可以使用它丰富的功能来构建应用程序和其他的库。除此之外,如果你想要一个数据可视化和探索性数据分析的框架 —— STDLib,