2010-06-25 70 views
0

我有一位家长和2个孩子。我试图将数据从child1传递给child2,但不断收到错误消息:1061:通过静态类型的引用调用可能未定义的方法。无法将数据从儿童传递给​​子女

在child1我有以下代码:

[Bindable] 
public var TestVar:String='sometext'; 

在的child2我想获得的testvar的值,然后把它作为一个值通过PHP:

var newTestVar:String = child1.TestVar; 
    if(newTestVar != null){ 
    getResult.token = someService.get_filtered_Paged(newTestVar); 
    } 

    else{ 
    getSecResult.token = someService.get_paged(); 
    } 
搜索MySQL数据库
+0

你说父母/孩子,你是什么意思?某些容器的子组件,还是相互继承的类?此外,它将有助于了解如何声明child1变量(从错误消息可能是child1实际上是类的名称而不是实例,但除非发布更多内容,否则我们无法知道)。 – phtrivier 2010-06-25 09:04:40

+0

Cutin out ginius 。 – deceze 2010-11-28 04:35:15

回答

-1

@ape是正确的,你应该使静态或使用MVC注入属性。

-1

更改public var TestVar:String='sometext';public static var TestVar:String='sometext'; 您正在接收此错误,因为您在静态上下文中尝试访问变量:TestVar(如果尚未将其标记为静态)。

-1

你得到这个错误是因为你将child1声明为任何child1实际上的超类。 TestVar没有在那里定义是自然的。最糟糕的是那个超类是不是动态的,所以你需要访问与该场:

child1["TestVar"]; 

这不会产生一个编译错误,而如果持有的情况下应该没有问题,在运行时访问场child1是正确的。

-1

假设您在MyClass1中定义了TestVar。铸造child1该类型:

var newTestVar:String = MyClass1(child1).TestVar; 

如果这没有帮助,请把你的代码的更大的作用。

相关问题