我有一个类,用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;
}
}
答案 0 :(得分:1)
首先,简单的解决方案:使noteToCase公共静态可绑定(如果它可以是静态的),并在mxml中绑定可见性等。
第二,更清洁:为你的mxml创建一个viewmodel,在脚本中,在你可以在你的mxml上使用addElement等的viewmodel中,并在noteToCase更改时调用viewModel等,通过setter。