动态 UI

动态 UI

我们可以借助 service 组件,实现完全动态的 UI,让我们看看如下例子:

var app *amisgo.App

func main() {
	app = amisgo.New()
	index := app.Page().Body(
		app.Service().Name("ui").GetSchema(getDynamicUI),
	)
	app.Mount("/", index)
	app.Run(":8080")
}

func getDynamicUI() any {
	return app.Tpl().Tpl("Hello, world!")
}

甚至可以设置 service 的 name 或 websocket,实现更复杂的交互。

这有什么用?基于这个机制,可以简化代码,做类似游戏的逻辑,即根据应用状态,动态更新 UI。

实际的例子见应用示例章节的 amisgo-games。