代码之家  ›  专栏  ›  技术社区  ›  Daniel

传递getter函数或AS3中的复杂指针

  •  0
  • Daniel  · 技术社区  · 14 年前

    现在我依赖于传递一个函数来获取get函数,这不是一个非常优雅的解决方案,比如:

    myvar = function():int{return objectName.getVarValue};
    

    另一个选项是将所有get和set方法更改为get和set函数,或者将它们添加到函数中。 我还可以创建一个只存储名称的链接类,但这只是一个更头痛的问题。


    视图有点傻,数据/模型也有点傻,所以所有事情都是通过控制器完成的,并且是按照这些事件重叠的顺序进行的。因此,我将数据抓取委托给datakey,在开始时定义所有不同的参数,然后我可以调用update并选择datakey,它们抓取数据。 现在,我通过一个我正在创建的函数将构造函数链接到这个值

    onUpdate:function():int{return objectName.getVarValue};

    它比那复杂一点,但这就是它的要点。

    我希望as3可以只做指针,也许在as4中?我想可能有一种方法可以将getter作为一个我不知道的函数来检索。

    3 回复  |  直到 14 年前
        1
  •  1
  •   AaronLS    14 年前

    我只传递对象本身,因为引用的行为最像指针。您可以使用动态属性创建自己的数据绑定。当您希望将视图连接到数据模型时,控制器将创建一个与数据源对象的数据绑定,以及要在数据源上绑定的属性的名称,以及要在视图上绑定的属性的名称:

    view.AddBinding(dataObjectName, "somePropertyOnObject", "propertyNameOnView");
    

    this["propertyNameOnView"] = dataObjectName["somePropertyOnObject"];
    

    但更类似于绑定对象:

    someBinding.DestinationObject[someBinding.DestinationProperty] = 
      someBinding.DataSource[someBinding.SourceProperty];
    

    您甚至可以将此代码直接放在通过更新方法公开的绑定对象本身中,这样您就可以对特定绑定调用Update(),它将数据从数据模型的属性带到视图的属性。

    http://www.colettas.org/?p=17

        2
  •  0
  •   Brent    14 年前

    为什么不直接点击对象获取值呢?为什么需要存储在另一个变量中,除非在特定时间需要特定值?

        3
  •  0
  •   AaronLS    14 年前

    获取的最新值的方法 对象的变量-Daniel

    现在还不清楚你想要完成什么。也许你能解释一下为什么这么做不符合你的要求?

    myvar = return objectName.getVarValue;