0
パフォーマンスを考慮して、GWTアプリ全体のリクエストに応じて複数のオーバーレイタイプをどのように保存しますか?GWT:グローバルなjavascriptオーバーレイタイプ
パフォーマンスを考慮して、GWTアプリ全体のリクエストに応じて複数のオーバーレイタイプをどのように保存しますか?GWT:グローバルなjavascriptオーバーレイタイプ
私が正しく理解していれば、アプリケーション内のどこからでもオーバーレイタイプを参照したいと思っています。その場合は、public static
変数を作成することを検討してください。
例えば、Book
というJavaScriptオーバーレイタイプがあるとします。その内部に、グローバルインスタンスを保持する静的変数を作成することができます。後に続いて
public class Book extends JavaScriptObject {
public static Book instance; // The global
protected Book(){}
public final native String getName()/*-{
return this.name;
}-*/;
public final native void setName(String name)/*-{
this.name = name;
}-*/;
}
、私たちは私たちが望むどこからそれを参照:
Book.instance = (Book) JavaScriptObject.createObject();
Book.instance.setName("How I Sailed the Seven Seas");
GWT.log(Book.instance.getName());
真実が語られ、これはJavaでどのように任意の「グローバル」変数作品です。オーバーレイタイプも同じように動作します!
Bookクラスの中にinstance
を置くことで魔法が発生しないことに注意してください。あなたは非常に簡単に同じことを行うことができます:
public class FooBar{
public static Book global_book;
}
以降:
FooBar.global_book.setName("My Biography")
あなたはあなたの「javaの」タグ「はjavascriptの」タグであってはならないことを確認していますか? –
@HovercraftFullOfEels私はJavaScriptタグを追加しましたが、GWTの場合はJavaを記述し、GWTをJavaScriptにコンパイルするようにしました。したがって、Javaタグは完全に妥当です。 –
@AdamMihalcin:ありがとう! GWTとJavaScriptの私の無知は私がタグを自分で変更しなかった理由です。 –