如何在原生GWT中实现双向数据绑定?

时间:2013-03-22 10:38:24

标签: gwt

我们已经使用GWT大约4年了。本机GWT中缺少的最常讨论的功能之一是数据绑定。阅读AngularJs的另一款Google产品,我遇到了http://devgirl.org/2013/03/21/fun-with-angularjs/。我不想使用GXT或任何其他第三方工具。我也希望避免与发电机有关的解决方案。

  1. 有没有什么方法可以在纯原生GWT中实现?

  2. 为什么GWT无法从BOX中提供此功能?

3 个答案:

答案 0 :(得分:1)

您是否尝试过GWT Pectin

我不久前在一个更大的项目中成功使用过它。

答案 1 :(得分:1)

我建议您尝试HexaBinding,它是非侵入性的,仅专注于数据绑定。这是链接:https://github.com/ltearno/hexa.tools/blob/master/hexa.binding/README.md

它适用于纯Java,GWT,并且很快也适用于Android和JavaFX。它甚至可以与J2Objc一起使用,但还不确定......

答案 2 :(得分:0)

我阅读了你在关于AngularJS的devgirl上提到的帖子。在该帖子中,“双向数据绑定”是指代码的属性,以在视图上自动反映视图当前显示的数据发生的变化。

这是在版本2.1以及Cell Widgets

的GWT中实现的

在我上面链接的Cell Widgets文档的第一段中明确指出:

  

单元格小部件可以接受来自任何类型数据源的数据。数据   model处理异步更新以及推送更新。 当你   更改数据后,视图会自动更新。

如果你想在GWT中做一些与devGirl帖子中的example一样基本的东西你需要编写一个onKeyup处理程序(在AngularJS中你应该写一个Scope来实现这个目的)您输入到链接标签的内容。像这样:

...
final TextBox nameField = new TextBox();
final Label enteredName = new Label("");
...
    public void onKeyUp(KeyUpEvent event) {
        enteredName.setText(nameField.getText());
    }
...