Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex pushView()的空对象引用错误_Apache Flex_View_Flex Spark - Fatal编程技术网

Apache flex pushView()的空对象引用错误

Apache flex pushView()的空对象引用错误,apache-flex,view,flex-spark,Apache Flex,View,Flex Spark,据说,当使用navigator.pushView()方法将视图推送到屏幕时,我可以传递任何类型的数据。我只需传递一个数组,如下所示: var arr:Array=[4,5,6,7,8,9]; navigator.pushView(SecondView,arr); 在我的SecondView构造函数中,无论我如何尝试访问它的数据属性,我都会得到一个错误: 无法访问空对象引用的属性或方法 我做错了吗 必须调用构造函数来创建对象的实例。这必须在任何属性被赋予该对象的值之前完成 因此,我总是希望构造函

据说,当使用
navigator.pushView()
方法将视图推送到屏幕时,我可以传递任何类型的数据。我只需传递一个数组,如下所示:

var arr:Array=[4,5,6,7,8,9];
navigator.pushView(SecondView,arr);
在我的SecondView构造函数中,无论我如何尝试访问它的数据属性,我都会得到一个错误:

无法访问空对象引用的属性或方法


我做错了吗

必须调用构造函数来创建对象的实例。这必须在任何属性被赋予该对象的值之前完成

因此,我总是希望构造函数中的数据属性为null

仔细阅读这本书。步骤1和2是解决此问题的要点:

  • 您调用组件的构造函数
  • 您可以通过设置组件的属性来配置组件

  • 您必须在构造函数之外的某个点访问数据属性。可能在事件侦听器中,例如initialize或creationComplete。可能是生命周期方法的一部分,例如updateDisplayList()或commitProperties()

    您是否最终对SecondViews“data”属性中的数据进行了处理?如Api文档所示:“数据指定传递给视图的任何数据。此对象将写入新视图的view.data属性。”()因此,如果在SecondView中的数据属性设置器中执行某些操作,这可能会导致问题。嗯,除了pushView()方法外,我没有对SecondView的数据执行任何操作。我有一个commonView(extends-View)类,它指定了它自己的宽度和高度属性等,当然没有改变它的数据。我的SecondView扩展了commonView,这是否会导致空数据?如果是这样,我应该如何在pushView()方法中访问准确传递给SecondView的数据?谢谢你,非常感谢你两次帮助我!哈,我曾经认为这可能是构造函数的问题,并在我的视图中添加了Event.added的EventListener,但在pushView()方法中,此事件会多次分派。也许我应该试试其他类型的活动来做这件事。我想告诉你另一件事:我调用了PopupManager.addPopUp()在我的一个视图中显示一个警报窗口,代码被执行,但窗口从未显示。但是当我将这些代码放入根应用程序(ViewNavigatorApplication)并从我的视图中调用它时,如果我只能用这种方式使用弹出窗口?@Hubcin,而不检查您的代码;很难猜测问题出在哪里。您应该能够从任何组件创建弹出窗口。也许你应该就这个问题提出一个更详细的问题。