Actionscript 3 将值从一个视图传递到另一个视图
我对actionscript3/flashbuilder非常陌生,我正在尝试做一些简单的事情,比如将值从一个视图传递到另一个视图 我解决了所有语法错误,但仍然得到一个空错误 (TypeError:Error#1009:无法访问空对象引用的属性或方法) …即使我有硬编码的值用于测试 我有两个视图,当我按下一个按钮时,它应该将一个值传递给另一个视图,然后在标签中显示传递的值 以下是我的两个观点: 视图1:Actionscript 3 将值从一个视图传递到另一个视图,actionscript-3,flash-builder,Actionscript 3,Flash Builder,我对actionscript3/flashbuilder非常陌生,我正在尝试做一些简单的事情,比如将值从一个视图传递到另一个视图 我解决了所有语法错误,但仍然得到一个空错误 (TypeError:Error#1009:无法访问空对象引用的属性或方法) …即使我有硬编码的值用于测试 我有两个视图,当我按下一个按钮时,它应该将一个值传递给另一个视图,然后在标签中显示传递的值 以下是我的两个观点: 视图1: <s:View xmlns:fx="http://ns.adobe.com/mxml/2
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="view1">
<fx:Script>
<![CDATA[
var value1:int = 1;
var value2:int = 2;
]]>
</fx:Script>
<s:Button id="btn1" x="5" y="10" width="25" label="Button 1" click="navigator.pushView(view2, {val:value1})"/>
<s:Button id="btn2" x="15" y="100" width="25" label="Button 2" click="navigator.pushView(view2, {val:value2})"/>
</s:View>
视图2:
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="view2">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
var passedValue:int = data.val;
]]>
</fx:Script>
<s:Label x="75" y="100" width="200" text="{passedValue}" />
任何帮助都将不胜感激
谢谢 您的问题是在创建视图之前试图访问数据对象 将creationComplete处理程序添加到视图中:
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="view2" creatonComplete="init(event)">
在init方法中,您将能够访问数据对象
<fx:Script>
<![CDATA[
[Bindable] private var passedValue:int;
protected function init(e:FlexEvent):void{
passedValue = data.val;
}
]]>
</fx:Script>
另外,请注意,我在passedValue变量中添加了[Bindable]。
这是因为您要将其值绑定到标签。为了实现这一点,您需要在var上使用[Bindable]这是一个很好的建议……我将上述内容添加到了我的项目中。但是,它不能识别init函数中的e:FlexEvent。上面说找不到类型…谢谢!