actionscript 3 - Flex/Spark: How much logic in view? How to clear a TextField as a reaction to a user click or an event? -
When using Flex with SPARC, I have a message in which to enter your message, a TextInput and button send . TextInput
-
""< - should be set to
"which - Should also be set to
""event = "myOtherEvent"
button - should be enabled only
text input'stext.length & gt; 0 < / Code>
At first I thought it was very clean to leave the binding to the text entered in TextInput to do anything in my model And to give it the logic to see / disable the viewing of the button.
I still think this is a very good way except for the fact that it There is not a complete solution because it is unclear as a response to receiving TextInput.text event = "myOtherEvent" .
that partial The solution is MXML:
Input id = "chatText" width = "100%" height = "32" /> & Lt; S: button label = "send" enabled = "{chatText.text.length> gt;" click = '{model.send (chattext.text); ChatText.text = ""} '/ & gt; If it was not for the need to respond to my event, how do you feel about that solution?
There are some arguments in the button , but just basic settings and checking I know that separating the argument and presentation is a good idea, but I thought it was a good balance Was there.
A Complete Solution I think that may be:
-
chattext.textand one in my model - And in the method set for that property, I
Dispatches (New Event ("UpdateButton") - A function in the same model class from that event This function will return
enabled = "{model.thatFunction ()}"button's.functionchatTextStringPropertyInModel.length & gt; 0and thus (some By jumping through hoops) it will see that to send When a text is available, send-buttonis enabled. - You can set
model.send (chatText.text)chatTextStringPropertyInModel = " "and after that the property is bound to chattext.text as two ways, change will also appear in the UI. / Li>
My question:
- How logic is correct in the view?
- How do I solve it? What is the most beautiful and maintenance?
Maybe I'm confused but I'm not your solution Switch to a problem you see pre your event
<> & lt; Fx: Script & gt; Requires adding an event handler. & Lt ;! [Disable text and disable on private text on [CDATA [//] other events. MyOtherEvent (Event: Event): Zero {chatText.text = ""; }] & Gt; & Lt; / Fx: script & gt; & Lt; S: TextInput id = "chatText" width = "100%" height = "32" /> & Lt; S: button label = "send" enabled = "{chatText.text.length> gt;" click = '{model.send (chattext.text); ChatText.text = ""} '/ & gt; In addition, I do not think there is anything wrong with a visual component which is handling its idea logic ...
Comments
Post a Comment