@DependsOn"

From Documentation
m ((via JWB))
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{ZKDevelopersReferencePageHeader}}
 
{{ZKDevelopersReferencePageHeader}}
 +
{{Deprecated | url=[http://books.zkoss.org/zk-mvvm-book/8.0/syntax/dependson.html zk-mvvm-book/8.0/syntax/viewmodel/dependson]|}}
 +
  
 
=Syntax=
 
=Syntax=
Line 11: Line 13:
 
'''Purpose:''' To notify change upon property's dependency.
 
'''Purpose:''' To notify change upon property's dependency.
  
It has the same function as <tt> @NotifyChange </tt> but inverse meaning. It's used to notify binder that getter method's target property is changed because one or more properties it depends on are changed. It can eliminate distributed <tt> @NotifyChange </tt> in a ViewModel when a calculated property depends on multiple properties.
+
It has the same function as <code>@NotifyChange</code> but inverse meaning. It's used to notify binder that getter method's target property is changed because one or more properties it depends on are changed. It can eliminate distributed <code>@NotifyChange</code> annotations in a ViewModel when a calculated property depends on multiple properties.
  
 
= Example =
 
= Example =
Line 47: Line 49:
  
 
=Version History=
 
=Version History=
{{LastUpdated}}
+
 
{| border='1px' | width="100%"
+
{| class='wikitable' | width="100%"
 
! Version !! Date !! Content
 
! Version !! Date !! Content
 
|-
 
|-

Latest revision as of 07:35, 8 July 2022

Stop.png This article is out of date, please refer to zk-mvvm-book/8.0/syntax/viewmodel/dependson for more up to date information.


Syntax

@DependsOn

Description

Target: getter method

Purpose: To notify change upon property's dependency.

It has the same function as @NotifyChange but inverse meaning. It's used to notify binder that getter method's target property is changed because one or more properties it depends on are changed. It can eliminate distributed @NotifyChange annotations in a ViewModel when a calculated property depends on multiple properties.

Example

public class FullnameViewModel{
	private String firstname;
	private String lastname;
	public String getFirstname() {
		return firstname;
	}
	public void setFirstname(String firstname) {
		this.firstname = firstname;
	}

	public String getLastname() {
		return lastname;
	}
	public void setLastname(String lastname) {
		this.lastname = lastname;
	}
	
	@DependsOn({"firstname", "lastname"})
	public String getFullname() {
		return (firstname == null ? "" : firstname)	+ " "
				+ (lastname == null ? "" : lastname);
	}
}



Version History

Version Date Content
6.0.0 February 2012 The MVVM was introduced.




Last Update : 2022/07/08

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