Wire Event Listeners"
From Documentation
Line 2: | Line 2: | ||
− | |||
− | |||
− | |||
− | |||
since 6.0.2 | since 6.0.2 | ||
To wire event listeners in a ViewModel like [[ZK Developer's Reference/MVC/Controller/Wire Event Listeners]], we have to call <tt> Selectors.wireEventListeners() </tt> in a method with <tt>@AfterCompose</tt>. We then can use <tt> @Listen</tt> to declare a method as an event listener. '''We do not recommend this usage''' because it loses <b>ViewModel</b> an important advantage: loose coupling with View. '''Please evaluate the trade-offs before using it.''' | To wire event listeners in a ViewModel like [[ZK Developer's Reference/MVC/Controller/Wire Event Listeners]], we have to call <tt> Selectors.wireEventListeners() </tt> in a method with <tt>@AfterCompose</tt>. We then can use <tt> @Listen</tt> to declare a method as an event listener. '''We do not recommend this usage''' because it loses <b>ViewModel</b> an important advantage: loose coupling with View. '''Please evaluate the trade-offs before using it.''' | ||
− | + | ||
''' Wire event listener in a ViewModel ''' | ''' Wire event listener in a ViewModel ''' | ||
Line 17: | Line 13: | ||
public class SearchAutowireVM{ | public class SearchAutowireVM{ | ||
− | @ | + | @AfterCompose |
− | public void | + | public void afterCompose(@ContextParam(ContextType.VIEW) Component view){ |
Selectors.wireEventListeners(view, this); | Selectors.wireEventListeners(view, this); | ||
} | } | ||
Line 32: | Line 28: | ||
* <tt> Selectors.wireEventListeners()</tt> 's first parameters is Root View Component which can be retrieved by <tt>@ContextParam</tt>. | * <tt> Selectors.wireEventListeners()</tt> 's first parameters is Root View Component which can be retrieved by <tt>@ContextParam</tt>. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=Version History= | =Version History= |
Revision as of 01:36, 30 July 2012
since 6.0.2
To wire event listeners in a ViewModel like ZK Developer's Reference/MVC/Controller/Wire Event Listeners, we have to call Selectors.wireEventListeners() in a method with @AfterCompose. We then can use @Listen to declare a method as an event listener. We do not recommend this usage because it loses ViewModel an important advantage: loose coupling with View. Please evaluate the trade-offs before using it.
Wire event listener in a ViewModel
public class SearchAutowireVM{
@AfterCompose
public void afterCompose(@ContextParam(ContextType.VIEW) Component view){
Selectors.wireEventListeners(view, this);
}
@Listen("onClick=#mybutton")
public void submit(MouseEvent event){
//handle events
}
}
- Selectors.wireEventListeners() 's first parameters is Root View Component which can be retrieved by @ContextParam.
Version History
Version | Date | Content |
---|---|---|
6.0.0 | May 2012 | Supplement |
6.0.2 | July 2012 | The @AfterCompose was introduced. |