Wire Components

From Documentation
Revision as of 07:00, 8 February 2012 by Hawk (talk | contribs) (Created page with "{{ZKDevelopersReferencePageHeader}} Although the original design principle of MVVM patter is that ViewModel doesn't have any reference to UI components, ZK provide ways to retr...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Although the original design principle of MVVM patter is that ViewModel doesn't have any reference to UI components, ZK provide ways to retrieve UI components on a ZUL in a ViewModel. One is passing components as parameters in binding expression. Another is to wire components by Selector. This way enables you to wire components with @Wire like you do in a SelectorComposer. Before doing this, you have to call Selectors.wireComponents() manually and pass the root component in initial method.

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);
	}
}
  • Use @ContextParam(ContextType.VIEW) to retrieve root component. (line 11)




Last Update : 2012/02/08

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