2
我創建了JsInterop自己的自定義數組:JsInterop - 獲得值在陣列
@JsType(isNative = true, namespace = JsPackage.GLOBAL, name = "Array")
public interface Array<T>
{
public void push(T value);
@JsProperty(name = "length")
public int getLength();
@JsProperty(name = "length")
void setLength(int newLength);
@JsOverlay
default T get(int index) {
return JsArrayHelper.getArrayValue(this, index);
}
}
這裏是JsArrayHelper類縮減:
public class JsArrayHelper
{
//TODO: Eliminate JSNI. Better way to do this?
public static native <T> T getArrayValue(Array<T> a, int i) /*-{
return a[i];
}-*/;
}
有沒有更好的方式來獲得價值的數組而不是使用JSNI?
謝謝。現在嘗試一下。我假設我也需要繼承:jsinterop.base.Base。但是我得到這個錯誤:「沒有源代碼可用於類型jsinterop.base.JsArrayLike;你忘了繼承一個必需的模塊嗎?」 –
我認爲你需要使用GWT 2.8.1。 –