Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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
Actionscript 3 将值从一个视图传递到另一个视图_Actionscript 3_Flash Builder - Fatal编程技术网

Actionscript 3 将值从一个视图传递到另一个视图

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

我对actionscript3/flashbuilder非常陌生,我正在尝试做一些简单的事情,比如将值从一个视图传递到另一个视图

我解决了所有语法错误,但仍然得到一个空错误

(TypeError:Error#1009:无法访问空对象引用的属性或方法)

…即使我有硬编码的值用于测试

我有两个视图,当我按下一个按钮时,它应该将一个值传递给另一个视图,然后在标签中显示传递的值

以下是我的两个观点:

视图1:

<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。上面说找不到类型…谢谢!