加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Vaadin Flow:组件和元素之间的区别

发布时间:2020-12-15 08:27:02 所属栏目:Java 来源:网络整理
导读:在Vaadin Flow中,除了Components之外,现在还有Elements. 在元素的javadoc中说: A Component is a higher level abstraction of an Element or a hierarchy of Elements. 这实际意味着什么?在更高级别以及使用Elements和何时使用组件时所做的是什么? 解决
在Vaadin Flow中,除了Components之外,现在还有Elements.

在元素的javadoc中说:

A Component is a higher level abstraction of an Element or a hierarchy of Elements.

这实际意味着什么?在更高级别以及使用Elements和何时使用组件时所做的是什么?

解决方法

作为一个实际示例,让我们考虑HTML标记< input>.您可以创建一个服务器端元素实例,为您提供< input>在浏览器中作为Element myElement = new Element(“input”).

此外,假设您要配置元素的占位符文本,例如< input placeholder =“在此输入您的姓名”>.使用Element API,这是myElement.setAttribute(“占位符”,“在此输入您的名字”).

作为最后一个示例,您还添加了一个将值更改事件转发到服务器的侦听器.您还需要配置浏览器事件的哪些部分要发送到服务器并在侦听器中访问该值:myElement.addEventListener(“change”,event – > System.out.println(“New value:”event) .getEventData( “element.value”)).addEventData( “element.value”);.

您可以用这种方式构建整个应用程序,但这样做并不方便.你想拥有一个知道输入标签名称的类,而不是每次都输入字符串.您需要setPlaceholder方法,而不是使用通用setAttribute并记住属性的名称.最后,您需要一种添加值更改侦听器的方法,其中新值可用作event.getValue().

这正是Component进入图片的位置.它允许您创建一个扩展Component的Input类,并为这些功能提供Java API.在引擎盖下,Input组件将使用Element API,但将其隐藏为Input类的用户不必了解的实现细节.

此外,组件也可以基于其他组件而不是直接使用Element.这通常是您创建构成组件的组件的方式.您的申请中的观点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读