GenUI
的脚本部分使用Rust语言,在.gen
文件中使用<script>
标签进行包裹。
本文档仅简单说明脚本部分的使用,具体文档请参看:API
对于自定义组件,我们需要使用#[prop]
宏进行组件的属性声明,但并不是所有的类型都是允许的,能够在属性中使用的类型需要实现Default
trait。
本身自定义组件没有任何事件,事件需要使用#[event]
宏进行声明,并且需要增加#[derive(Debug, Clone)]
。
在上面的例子中,我们定义了两个事件回调:
Clicked
Changed
其中Clicked
没有任何回调参数,Changed
的回调参数为String
类型。
在前面我们了解了如何定义组件的属性,而组件模版的数据绑定也是基于属性定义的
在这个例子中我们在MyView
中定义了label
的text
属性的值,对于绑定的值,GenUI
会自动生成对应的get
和set
方法。
在这段代码中,会自动生成get_txt
和set_txt
方法。
对于方法和回调而言使用fn
或closure
进行声明,以下例子中我们定义了change_txt
方法作为按钮的点击的回调方法。
以上方法还可以使用closure
来改写