在Flex中的actionscript中编辑其他类的mxml代码

时间:2013-04-12 13:16:34

标签: actionscript-3 flex flex3 mxml

我有一个类,用mxml描述UI,另一个用as。来保存逻辑。

有没有办法,如何根据我的actionscript类中某些变量的值更改mxml来更改UI?

as class看起来像这样:

public class SomeDialog extends MyDialog
{
public function SomeDialog(noteToTask:Boolean=false)
{
    this.noteToTask=noteToTask;
    resizable = false;
}

    // WHEN noteToCase is true, add to mxml some component, ie a button
private var noteToCase:Boolean;

override protected function createView():MyDialog
{
    var view:SomeDialogView  = new SomeDialogView ();
    return view;
}
}

1 个答案:

答案 0 :(得分:1)

首先,简单的解决方案:使noteToCase公共静态可绑定(如果它可以是静态的),并在mxml中绑定可见性等。

第二,更清洁:为你的mxml创建一个viewmodel,在脚本中,在你可以在你的mxml上使用addElement等的viewmodel中,并在noteToCase更改时调用viewModel等,通过setter。