рд╕реНрд╡рд┐рдЬрд╝ рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ (рд╕рд░рд▓рддрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧ)

рдореЗрд░реА рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ: рд╕реНрд╡рд┐рдЬрд╝ рдлреНрд░реЗрдорд╡рд░реНрдХ (рдЕрд╡рд▓реЛрдХрди)



рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╕реНрд╡рд┐рдЬрд╝ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХрд╛ рдХреЛрдИ рдкреНрд░рд╢реНрди рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рд╣реИ, рддреЛ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреЗрдВ, рдореИрдВ рд╕рднреА рдХреЛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред





рддреЛ рд╕реНрд╡рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдлреНрд▓реЗрдХреНрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЖрд░реЗрдЦ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдЫрд╡рд┐

рд╡реНрдпреВ (рдпрд╛ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЙрдбрд▓) рдПрдХ рдШрдЯрдирд╛ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ рдЬреЛ рдореЗрдЯрд╛ рдЯреИрдЧ [Mediate(event="someEvent")]



рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ рджреНрд╡рд╛рд░рд╛ рдкрдХрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореЙрдбрд▓ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред рджреГрд╢реНрдп рдХреЗрд╡рд▓ рдореЙрдбрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред



Inzhekting



рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕ рдЪреАрдЬрд╝ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрд╢рди рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдЪрд┐рддреНрд░ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рдореЙрдбрд▓ рдХреЛ рджреГрд╢реНрдп рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдореЙрдбрд▓ рджреГрд╢реНрдп рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдХ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рднреА рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐, рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдХреЗ рдШрдЯрдХ



рдореБрдЦреНрдп SwizQuickstart.mxml



рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рд╕реНрд╡рд┐рдЬрд╝ рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдмреАрдирдкреНрд░реЛрд╡рд╛рдЗрдбрд░реНрд╕ рдФрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдпреВрдЬрд░рдлрд╛рд░реНрдо рд╡реНрдпреВ рднреА

 <fx: рдШреЛрд╖рдгрд╛рдПрдБ>
	 <рд╕реНрд╡рд┐рдЬрд╝: рд╕реНрд╡рд┐рдЬрд╝>	
		 <swiz: beanProviders>
			 <config: рдмреАрдиреНрд╕ />
		 </ swiz: beanProviders>
			
		 <swiz: config>
			 <рд╕реНрд╡рд┐рдЬрд╝: рд╕реНрд╡рд┐рдЬрд╝рдХреЛрдирдлрд┐рдЧ 
				 EventPackages = "org.swizframework.quickswiz.eventред *ред" 
				 viewPackages = "org.swizframework.quickswiz.viewред *" />
		 </ swiz: config>
	 </ swiz: swiz>
 </ fx: рдШреЛрд╖рдгрд╛рдПрдБ>

 <рджреГрд╢реНрдп: UserForm id = "userForm" />


рдЖрдЗрдП рд╕рднреА рдШрдЯрдХреЛрдВ рдХрд╛ рдХреНрд░рдо рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ



SwizConfig


рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдХреЛ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 <рд╕реНрд╡рд┐рдЬрд╝: рд╕реНрд╡рд┐рдЬрд╝рдХреЛрдирдлрд┐рдЧ
	 setUpEventType = "{Event.ADDED_TO_STAGE}" 
	 setUpEventPhase = "{EventPhase.CAPTURING_PHASE}" 
	 setUpEventPyerity = "50"
	 teardownEventType = "{Event.REMOVED_FROM_STAGE}" 
	 teardownEventPhase = "{EventPhase.CAPTURING_PHASE}" 
	 рдЖрдВрд╕реВрдордиреЛрдкрдпреЛрдЧрд┐рддрд╛ = "50"
	 EventPackages = "com.foo.events, org.bar.events"
	 validateEventTypes = "рд╕рд╣реА"
	 viewPackages = "com.foo.views, org.bar.events"
	 DefaultFaultHandler = "рд╣реИрдВрдбрд╣реЗрд▓реНрдбрдлрд╝реНрд▓реИрдбреНрд╕ рд╣реИрдВрдбрд▓"
	 defaultDispatcher = "рд╡реИрд╢реНрд╡рд┐рдХ" />




рдлрд▓рд┐рдпрд╛рдВ


рдмреАрдирдкреНрд░реЛрд╡рд╛рдЗрдбрд░реНрд╕ рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдХ, рдореЙрдбрд▓, рд╕реЗрд╡рд╛рдПрдВ, рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рд╡рд░реНрдЧреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╡реЗ рд╕рднреА рдореЗрдЯрд╛ рдЯреИрдЧ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА рдЖрдВрддрд░рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред <config:Beans />



рд╡рд░реНрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

 <swiz: рдмреАрдирдкреНрд░реЙрдЗрдбрд░ 
	 xmlns: fx = "http://ns.adobe.com/mxml/2009"
	 xmlns: swiz = "http://swiz.swizframework.org"
	 xmlns: рд╕реЗрд╡рд╛ = "org.swizframework.quickswiz.serviceред * 
	 xmlns: рдирд┐рдпрдВрддреНрд░рдХ = "org.swizframework.quickswiz.controllerред *">
	
	 <рд╕реЗрд╡рд╛: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрд╡рд╛ рдЖрдИрдбреА = "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрд╡рд╛" />
	 <рдирд┐рдпрдВрддреНрд░рдХ: UserController id = "userController" />
	
	 <! - рд╣рдо рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХреЙрд▓ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЬрд╝ рд╕рд░реНрд╡рд┐рд╕ рд╣реЗрд▓реНрдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред  ->
	 <swiz: ServiceHelper id = "serviceHelper" />

 </ swiz: рдмреАрдирдкреНрд░реЙрдЗрдбрд░>


рддрджрдиреБрд╕рд╛рд░, рдмреАрдиреНрд╕ рд╕реНрд╡рд┐рдЬрд╝ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реЗрд╡рд╛рдПрдВ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИрдВред



UserForm


рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг mxml рд╣реИ, рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрдВрдЬреЗрдХреНрд╢рди рд▓рдЧрд╛рдирд╛:

 [Bindable]
 [Inject (рд╕реНрд░реЛрдд = "userController.currentUser", bind = "true")]
 рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛;


рдЖрдЧреЗ рдХрд┐рд╕реА рднреА рд╕реНрдерд╛рди рдкрд░ рдЖрдк рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

  <s: TextInput id = "firstName" рдЯреЗрдХреНрд╕реНрдЯ = "{user.firstName}" /> 


рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:



рджреГрд╢реНрдп рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдореЙрдбрд▓ рд╕реЗ рдХреНрдпрд╛ рдорд┐рд▓рд╛ред

<s:TextInput id="firstName" text="{user.firstName}" />







рдЗрд╕рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕реЗрд╡ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИред

<s:Button label="Save" click="saveUser()" />







рднреЗрдЬреА рд╣реБрдИ рдШрдЯрдирд╛

user.firstName = firstName.text;

user.lastName = lastName.text;

user.email = email.text;

var event : UserEvent = new UserEvent( UserEvent.SAVE_USER_REQUESTED );

event.user = user;

dispatchEvent( event );








рдИрд╡реЗрдВрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдкрдХрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред UserService.saveUser (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдХрдорд╛рдВрдб рдПрдХ AsyncToken рджреЗрддрд╛ рд╣реИред рдпрд╣, рдХреНрд░рдорд╢рдГ, рдХреЛрдИ рднреА рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдФрд░ рдХреЛрдИ рднреА рдХреЙрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ AsyncToken рджреЗрддрд╛ рд╣реИред

 [рдордзреНрдпрд╕реНрдерддрд╛ (рдШрдЯрдирд╛ = "UserEvent.SAVE_USER_REQUESTED", рдЧреБрдг = "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛")]
 рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ saveUser (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛): рд╢реВрдиреНрдп
 {
	 serviceHelper.executeServiceCall (userService.saveUser (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛), handleSaveUserResort);
 }




AsyncToken рдкрд░рд┐рдгрд╛рдо рдШрдЯрдирд╛ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, handleSaveUserResult рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ

 рдирд┐рдЬреА рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВрдбрд▓рд╕реЗрд╡рдпреВрд╕рд░рд╕рд╛рдЗрдХрд▓ (рдШрдЯрдирд╛: рдкрд░рд┐рдгрд╛рдо): рд╢реВрдиреНрдп
 {
	 Alert.show ('рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ!');
 }


рдЗрд╕ рд╕реНрдерд╛рди рдореЗрдВ, рд╣рдо рддрджрдиреБрд╕рд╛рд░ рдпрд╛ рдХрд┐рд╕реА рднреА рдШрдЯрдирд╛ рдХреЛ рдореЙрдбрд▓ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рдирд┐рдпрдВрддреНрд░рдХ рдпрд╛ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЙрдбрд▓ рдореЗрдВ [рдореЗрдбрд┐рдПрдЯ] рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрдХрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрджреЛрдВ рдореЗрдВ рдореИрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдПрдХ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рд╕реНрд╡рд┐рдЬрд╝-рдЖрдзрд╛рд░рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рд╕реНрд╡рд┐рдЬрд╝ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХрд╛ рднреА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред



All Articles