如何在GWT中手动创建JavaScriptObject?
当我有这个类时,如何手动创建JavaScriptObject如何在GWT中手动创建JavaScriptObject?,gwt,Gwt,当我有这个类时,如何手动创建JavaScriptObject public class Person extends JavaScriptObject{ protected Person(){} public final native String FirstName()/*-{ return this.firstName; }-*/; public final native String LastName()/*-{ ret
public class Person extends JavaScriptObject{
protected Person(){}
public final native String FirstName()/*-{
return this.firstName;
}-*/;
public final native String LastName()/*-{
return this.lastName;
}-*/;
}
我这样问是因为我有一个JavaScriptObject Peron数组
public JsArray<Person> persons = JavaScriptObject.createArray().cast();
但是我不知道如何手工制作这样一个物体。
firstName和lastName的值将取自一个UI组件,比如一个textField。
请帮忙 你应该能做到这一点吗
Person a = (Person)JavaScriptObject.createObject().cast();
谢谢。我有两个问题:1)你的版本和这个版本->Person a=Person.createObject()cast()有区别吗;2) 如何将值传递给person对象?我应该创建setter方法吗?但是在扩展JavaScriptObject的类中,不允许使用变量。那么,如何将值lastName和firstName传递给对象呢?两个createObject方法之间没有区别,因为它是JavascriptObject类上的静态方法。对于第二个问题,您可以扩展JavascriptObject以访问本机JSON对象。setter是将值分配给本机Javascript变量的本机调用。我认为出于这个原因,他们制定了一条规则,在覆盖类型中不允许使用成员变量。请阅读以了解更多详细信息。class Person扩展JavaScriptObject{protected Person(){}公共最终本机字符串FirstName()/*-{返回this.FirstName;}-/;公共最终本机字符串LastName()/-{返回this.LastName;}-/;公共最终本机字符串setFirstName(字符串fName)/-{this.FirstName=fName;}-/;公共最终本机字符串setLastName(字符串lName)/-{this.lastName=lName;}-*/;}Person a=(Person)JavaScriptObject.createObject().cast();a、 setFirstName(“彼得”);a、 setLastName(“Pan”);public JsArray persons=JavaScriptObject.createArray().cast();人。推(a);克里希纳库马尔普
Person a = (Person)JavaScriptObject.createObject().cast();