我真的很喜欢flex状态框架。您为控件定义了一些状态,然后可以将子控件设置为仅在某些状态下出现。看看这个代码:创建类似于Flex状态的ASP.NET web表单的框架
<s:states>
<s:State name="signin"/>
<s:State name="register"/>
</s:states>
<mx:FormItem label="Last name:" includeIn="register" id="lastNameItem" alpha="0.0">
<s:TextInput id="lastName" width="220"/>
</mx:FormItem>
现在的姓氏形式只会出现在注册屏幕上。这在.NET中会非常有用,您可以在页面中使用update/insert等视图。我正在考虑将Page元素扩展为使用扩展方法的states属性,并将include添加到控件中。这样我可以在渲染时基于当前视图自动隐藏控件。
Flex中更酷的是,您可以根据当前状态使用不同的处理程序/属性。
<s:Button label="Sign in" label.register="Register" id="loginButton"
enabled="true" click.signin="signin()" click.register="register()"/>
我确定有一种方法可以实现类似于此的方法。
您认为这是一个好主意吗?或者它是否仅仅为框架添加了一个抽象级别,而这个抽象级别已经有很差的关注点分离了?