Wire Components

From Documentation
Revision as of 09:20, 28 May 2012 by Hawk (talk | contribs)


Although the design principle of MVVM pattern is that ViewModel should not have any reference to UI components, ZK still provides two ways to retrieve UI components in a ViewModel. We don't suggest this usage because it loses the ViewModel an important advantage: loosely coupling with View. Please evaluate trade-off before using it.

One way is passing components as parameters in command binding which we have talked before. Another is to wire components by Selectors.wireComponents() . This way enables you to wire components with @Wire like you do in a SelectorComposer.

Example to wire components in a ViewModel

public class SearchAutowireVM{

	//UI component
	@Wire("#msgPopup")
	Popup popup;
	@Wire("#msg")
	Label msg;

	@Init
	public void init(@ContextParam(ContextType.VIEW) Component view){
		Selectors.wireComponents(view, this, false);
	}

}
  • One of Selectors.wireComponents() 's parameters is Root View Component which can be retrieved by @ContextParam


Version History

Last Update : 2012/05/28


Version Date Content
6.0.0 February 2012 The MVVM was introduced.




Last Update : 2012/05/28

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.