2013-03-22 70 views
4

我們已經使用GWT大約4年了。本地GWT中缺少的最常討論的功能之一是數據綁定。通過AngularJs閱讀另一個谷歌產品,我遇到了http://devgirl.org/2013/03/21/fun-with-angularjs/。我不希望使用GXT或任何其他第三方工具。我也希望避免與發電機相關的解決方案。如何在原生GWT中實現雙向數據綁定?

  1. 有什麼辦法可以在純原生GWT中實現嗎?

  2. 爲什麼GWT不能提供這個盒子有什麼特別的原因嗎?

+2

這是這個問題的正確地方嗎? – 2013-03-22 10:43:07

+0

任何地方我可以查詢stackexchange?程序員.stackexchange.com中的GWT標籤很難被注意到只有15個查詢! http://programmers.stackexchange.com/questions/tagged/gwt – SSR 2013-03-22 10:58:15

+0

你發佈的devgirl文章中的例子已經在GWT中實現了。如果將變量綁定到屏幕上的許多位置並更新該變量,則其新值將反映在引用它的所有位置。盒子外面。 – 2013-03-22 11:34:56

回答

1

您試過GWT Pectin

前段時間我在一個較大的項目中成功地使用了它。

+0

自2010年(3年)以來,我沒有看到GWT果膠中有任何活躍的發展,它不會考慮新的gwt功能! – SSR 2013-03-26 10:39:51

+0

你是對的!我曾經要求開發者製作一個新版本,他很快做到了。但它絕對沒有被積極開發。但是,它通過提供實際的實現來回答你的問題。就我個人而言,當我使用它時,我非常喜歡圖書館的表現力。 – Hbf 2013-03-27 10:03:11

0

我讀過你在Devgirl上提到的有關AngularJS的文章。在那篇文章中,「2路數據綁定」是指代碼的屬性自動在視圖上反映視圖當前正在顯示的數據發生的變化。

這在GWT自2.1版本與Cell Widgets

在單元格小工具文檔我它上面鏈接的第一段實現清楚地指出:

的細胞插件可以接受來自數據任何類型的數據源。數據 模型處理異步更新以及推送更新。 當您更改數據時,視圖會自動更新。

如果你想在GWT的東西基本在你需要寫的onkeyup處理程序devGirl後的example做(在AngularJS你應該寫一個Scope這個目的),將複製的內容,你進入到鏈接的標籤。就像這樣:

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