Adobe Flex Actionscript Question:

Download Job Interview Questions and Answers PDF

What is the difference between ChangeWatcher.watch, and BindingUtils.bindProperty?

Adobe Flex Actionscript Interview Question
Adobe Flex Actionscript Interview Question

Answer:

ChangeWatcher:
Acts like the watch on AS2. It watches a variable for changes and when something happens fires an event. Make sure you call the canWatch to ensure that you can watch it!
There are 3 ways to specify the second parameter, the chain.

1. A String containing the name of a public bindable property of the host object.
ChangeWatcher.watch(this, "myvar", handler)

2. An Object in the form: { name: property name, access: function(host) { return host[name] } }. The Object contains the name of a public bindable property, and a function which serves as a getter for that property.
ChangeWatcher.watch(this, { name:"myvar", getter: function():String { return "something" }}, handler);

3. A non-empty Array containing any combination of the first two options. This represents a chain of bindable properties accessible from the host. For example, to watch the property host.a.b.c, call the method as: watch(host, ["a","b","c"]
BindingUtils.bindProperty
Works pretty much the same way as the watch, but instead of having to handle and event it allows you to immediately bind two properties one-way.
The first two parameters are for the the target, the second parameters are the triggers.
BindingUtils.bindProperty( this, "va1", this, "var2");

Note : Make sure you add the flex framework.swc to your project Library Path to have access to the mx.binding.util class.

Download Adobe Flex Actionscript Interview Questions And Answers PDF

Previous QuestionNext Question
Explain how binding works in mxml components in flex?Why would you want to keep a reference to a ChangeWatcher and call unwatch()?