Google gwt JsArrayInteger (JavaScriptObject) использовать через JSNI - PullRequest
1 голос
/ 12 марта 2012

Я относительно новичок в gwt и у меня проблема с использованием JsArrayInteger. Вот мой код:

  package com.google.gwt.sample.stockwatcher.client;    
  public class StockWatcher implements EntryPoint {
      JsArrayInteger a;
      public void onModuleLoad() {
          a = (JsArrayInteger) JsArrayInteger.createArray(); 
          a.push(1);
          a.push(2);
          a.push(4);
          a.push(5);
          test();
      }
      public static native void test() /*-{
          var p = [1,2,3,4,5,6];
          var q = this.@com.google.gwt.sample.stockwatcher.client.StockWatcher::a;
          alert(q);
          alert(p);
      }-*/;
    }

Результатом является 'undefined' и [1,2,3,4,5,6] вместо [1,2,3,4,5] и [1,2,3,4,5,6] , Я хочу использовать поле a и работать с этим массивом (передать его в стороннюю библиотеку).

В руководстве http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsJSNI.html не объясняется, как использовать JavaScriptObjetcs по умолчанию. Кто-нибудь находит ошибку?

С уважением,

Michael

1 Ответ

1 голос
/ 12 марта 2012
  public static native void test() /*-{
      var p = [1,2,3,4,5,6];
      var q = this.@com.google.gwt.sample.stockwatcher.client.StockWatcher::a;
      alert(q);
      alert(p);
  }-*/;

Обратите внимание, что этот метод static, но вы ссылаетесь на this.Либо передайте экземпляр и используйте его вместо this, либо измените метод на static.

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...